@qotaq/lalphgram 0.1.7 → 0.1.8

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 (61) hide show
  1. package/dist/cjs/lib/StreamJsonParser.js +2 -2
  2. package/dist/cjs/lib/StreamJsonParser.js.map +1 -1
  3. package/dist/cjs/services/ChatMachine.js +9 -2
  4. package/dist/cjs/services/ChatMachine.js.map +1 -1
  5. package/dist/cjs/services/LalphConfig.js +18 -1
  6. package/dist/cjs/services/LalphConfig.js.map +1 -1
  7. package/dist/cjs/services/LinearSdkClient.js +13 -5
  8. package/dist/cjs/services/LinearSdkClient.js.map +1 -1
  9. package/dist/cjs/services/PlanSession.js +44 -5
  10. package/dist/cjs/services/PlanSession.js.map +1 -1
  11. package/dist/cjs/services/TaskTracker/GitHubIssueTracker.js +7 -3
  12. package/dist/cjs/services/TaskTracker/GitHubIssueTracker.js.map +1 -1
  13. package/dist/cjs/services/TaskTracker/LinearTracker.js +5 -1
  14. package/dist/cjs/services/TaskTracker/LinearTracker.js.map +1 -1
  15. package/dist/cjs/shim/main.js +4 -1
  16. package/dist/cjs/shim/main.js.map +1 -1
  17. package/dist/dts/lib/StreamJsonParser.d.ts +2 -1
  18. package/dist/dts/lib/StreamJsonParser.d.ts.map +1 -1
  19. package/dist/dts/services/AutoMerge.d.ts +1 -1
  20. package/dist/dts/services/ChatMachine.d.ts +1 -1
  21. package/dist/dts/services/ChatMachine.d.ts.map +1 -1
  22. package/dist/dts/services/EventLoop.d.ts +2 -2
  23. package/dist/dts/services/LalphConfig.d.ts +1 -0
  24. package/dist/dts/services/LalphConfig.d.ts.map +1 -1
  25. package/dist/dts/services/LinearSdkClient.d.ts +1 -0
  26. package/dist/dts/services/LinearSdkClient.d.ts.map +1 -1
  27. package/dist/dts/services/PlanOverviewUploaderMap.d.ts +1 -1
  28. package/dist/dts/services/PlanSession.d.ts.map +1 -1
  29. package/dist/dts/services/PullRequestTracker.d.ts +1 -1
  30. package/dist/dts/services/TaskTracker/GitHubIssueTracker.d.ts +2 -1
  31. package/dist/dts/services/TaskTracker/GitHubIssueTracker.d.ts.map +1 -1
  32. package/dist/dts/services/TaskTracker/LinearTracker.d.ts +2 -1
  33. package/dist/dts/services/TaskTracker/LinearTracker.d.ts.map +1 -1
  34. package/dist/dts/services/TrackerLayerMap.d.ts +1 -1
  35. package/dist/dts/shim/main.d.ts +1 -1
  36. package/dist/dts/shim/main.d.ts.map +1 -1
  37. package/dist/esm/lib/StreamJsonParser.js +1 -1
  38. package/dist/esm/lib/StreamJsonParser.js.map +1 -1
  39. package/dist/esm/services/ChatMachine.js +9 -2
  40. package/dist/esm/services/ChatMachine.js.map +1 -1
  41. package/dist/esm/services/LalphConfig.js +19 -2
  42. package/dist/esm/services/LalphConfig.js.map +1 -1
  43. package/dist/esm/services/LinearSdkClient.js +13 -5
  44. package/dist/esm/services/LinearSdkClient.js.map +1 -1
  45. package/dist/esm/services/PlanSession.js +44 -5
  46. package/dist/esm/services/PlanSession.js.map +1 -1
  47. package/dist/esm/services/TaskTracker/GitHubIssueTracker.js +7 -3
  48. package/dist/esm/services/TaskTracker/GitHubIssueTracker.js.map +1 -1
  49. package/dist/esm/services/TaskTracker/LinearTracker.js +5 -1
  50. package/dist/esm/services/TaskTracker/LinearTracker.js.map +1 -1
  51. package/dist/esm/shim/main.js +4 -1
  52. package/dist/esm/shim/main.js.map +1 -1
  53. package/package.json +1 -1
  54. package/src/lib/StreamJsonParser.ts +1 -1
  55. package/src/services/ChatMachine.ts +11 -3
  56. package/src/services/LalphConfig.ts +37 -2
  57. package/src/services/LinearSdkClient.ts +6 -1
  58. package/src/services/PlanSession.ts +57 -6
  59. package/src/services/TaskTracker/GitHubIssueTracker.ts +10 -3
  60. package/src/services/TaskTracker/LinearTracker.ts +4 -1
  61. package/src/shim/main.ts +4 -1
@@ -7,6 +7,7 @@ import { TaskCreated, TaskUpdated } from "../../Events.js"
7
7
  import type { TaskTrackerEvent } from "../../Events.js"
8
8
  import { TrackerIssue, TrackerIssueEvent } from "../../schemas/TrackerSchemas.js"
9
9
  import { AppRuntimeConfig } from "../AppRuntimeConfig.js"
10
+ import { LalphConfig } from "../LalphConfig.js"
10
11
  import { OctokitClient } from "../OctokitClient.js"
11
12
  import { TaskTracker, TaskTrackerError } from "./TaskTracker.js"
12
13
 
@@ -29,7 +30,9 @@ export const GitHubIssueTrackerLive = Layer.effect(
29
30
  Effect.gen(function*() {
30
31
  const octokit = yield* OctokitClient
31
32
  const config = yield* AppRuntimeConfig
33
+ const lalphConfig = yield* LalphConfig
32
34
  const interval = Duration.seconds(config.pollIntervalSeconds)
35
+ const repoFullName = lalphConfig.repoFullName
33
36
 
34
37
  const fetchRecentEvents = (since: string) =>
35
38
  Effect.gen(function*() {
@@ -42,10 +45,14 @@ export const GitHubIssueTrackerLive = Layer.effect(
42
45
  new TaskTrackerError({ message: `GitHub API request failed: ${String(err)}`, cause: err })
43
46
  )
44
47
  )
45
- return Array.map(issues, (issue) => {
46
- const repoFullName = extractRepoFullName(issue.repositoryUrl)
48
+ const filteredIssues = Array.filter(
49
+ issues,
50
+ (issue) => extractRepoFullName(issue.repositoryUrl) === repoFullName
51
+ )
52
+ return Array.map(filteredIssues, (issue) => {
53
+ const issueRepoFullName = extractRepoFullName(issue.repositoryUrl)
47
54
  const trackerIssue = new TrackerIssue({
48
- id: `${repoFullName}#${issue.number}`,
55
+ id: `${issueRepoFullName}#${issue.number}`,
49
56
  title: issue.title,
50
57
  state: issue.state,
51
58
  url: issue.htmlUrl,
@@ -7,6 +7,7 @@ import { TaskCreated, TaskUpdated } from "../../Events.js"
7
7
  import type { TaskTrackerEvent } from "../../Events.js"
8
8
  import { TrackerIssue, TrackerIssueEvent } from "../../schemas/TrackerSchemas.js"
9
9
  import { AppRuntimeConfig } from "../AppRuntimeConfig.js"
10
+ import { LalphConfig } from "../LalphConfig.js"
10
11
  import { LinearSdkClient } from "../LinearSdkClient.js"
11
12
  import { TaskTracker, TaskTrackerError } from "./TaskTracker.js"
12
13
 
@@ -15,7 +16,9 @@ export const LinearTrackerLive = Layer.effect(
15
16
  Effect.gen(function*() {
16
17
  const linearClient = yield* LinearSdkClient
17
18
  const config = yield* AppRuntimeConfig
19
+ const lalphConfig = yield* LalphConfig
18
20
  const interval = Duration.seconds(config.pollIntervalSeconds)
21
+ const projectIds = lalphConfig.linearProjectIds
19
22
  const todoStateIdRef = yield* Ref.make<string | null>(null)
20
23
 
21
24
  const resolveTodoStateId = Effect.gen(function*() {
@@ -36,7 +39,7 @@ export const LinearTrackerLive = Layer.effect(
36
39
  })
37
40
 
38
41
  const fetchRecentEvents = (since: string) =>
39
- linearClient.listIssues({ since }).pipe(
42
+ linearClient.listIssues({ since, projectIds }).pipe(
40
43
  Effect.map((issues) =>
41
44
  issues.map((node) => {
42
45
  const issue = new TrackerIssue({
package/src/shim/main.ts CHANGED
@@ -162,7 +162,10 @@ export const shimProgram = Effect.gen(function*() {
162
162
  }
163
163
  case "shim_approve": {
164
164
  yield* writeDebug("shim_approve intercepted")
165
- yield* Queue.offer(followUpQueue, FollowUpStop)
165
+ // Exit immediately — scope cleanup hangs because the stdin
166
+ // reader fiber is blocked on a Node.js pipe read that
167
+ // doesn't respond to Effect's fiber interruption.
168
+ yield* Effect.sync(() => process.exit(0))
166
169
  return
167
170
  }
168
171
  case "shim_start": {