@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.
- package/dist/cjs/lib/StreamJsonParser.js +2 -2
- package/dist/cjs/lib/StreamJsonParser.js.map +1 -1
- package/dist/cjs/services/ChatMachine.js +9 -2
- package/dist/cjs/services/ChatMachine.js.map +1 -1
- package/dist/cjs/services/LalphConfig.js +18 -1
- package/dist/cjs/services/LalphConfig.js.map +1 -1
- package/dist/cjs/services/LinearSdkClient.js +13 -5
- package/dist/cjs/services/LinearSdkClient.js.map +1 -1
- package/dist/cjs/services/PlanSession.js +44 -5
- package/dist/cjs/services/PlanSession.js.map +1 -1
- package/dist/cjs/services/TaskTracker/GitHubIssueTracker.js +7 -3
- package/dist/cjs/services/TaskTracker/GitHubIssueTracker.js.map +1 -1
- package/dist/cjs/services/TaskTracker/LinearTracker.js +5 -1
- package/dist/cjs/services/TaskTracker/LinearTracker.js.map +1 -1
- package/dist/cjs/shim/main.js +4 -1
- package/dist/cjs/shim/main.js.map +1 -1
- package/dist/dts/lib/StreamJsonParser.d.ts +2 -1
- package/dist/dts/lib/StreamJsonParser.d.ts.map +1 -1
- package/dist/dts/services/AutoMerge.d.ts +1 -1
- package/dist/dts/services/ChatMachine.d.ts +1 -1
- package/dist/dts/services/ChatMachine.d.ts.map +1 -1
- package/dist/dts/services/EventLoop.d.ts +2 -2
- package/dist/dts/services/LalphConfig.d.ts +1 -0
- package/dist/dts/services/LalphConfig.d.ts.map +1 -1
- package/dist/dts/services/LinearSdkClient.d.ts +1 -0
- package/dist/dts/services/LinearSdkClient.d.ts.map +1 -1
- package/dist/dts/services/PlanOverviewUploaderMap.d.ts +1 -1
- package/dist/dts/services/PlanSession.d.ts.map +1 -1
- package/dist/dts/services/PullRequestTracker.d.ts +1 -1
- package/dist/dts/services/TaskTracker/GitHubIssueTracker.d.ts +2 -1
- package/dist/dts/services/TaskTracker/GitHubIssueTracker.d.ts.map +1 -1
- package/dist/dts/services/TaskTracker/LinearTracker.d.ts +2 -1
- package/dist/dts/services/TaskTracker/LinearTracker.d.ts.map +1 -1
- package/dist/dts/services/TrackerLayerMap.d.ts +1 -1
- package/dist/dts/shim/main.d.ts +1 -1
- package/dist/dts/shim/main.d.ts.map +1 -1
- package/dist/esm/lib/StreamJsonParser.js +1 -1
- package/dist/esm/lib/StreamJsonParser.js.map +1 -1
- package/dist/esm/services/ChatMachine.js +9 -2
- package/dist/esm/services/ChatMachine.js.map +1 -1
- package/dist/esm/services/LalphConfig.js +19 -2
- package/dist/esm/services/LalphConfig.js.map +1 -1
- package/dist/esm/services/LinearSdkClient.js +13 -5
- package/dist/esm/services/LinearSdkClient.js.map +1 -1
- package/dist/esm/services/PlanSession.js +44 -5
- package/dist/esm/services/PlanSession.js.map +1 -1
- package/dist/esm/services/TaskTracker/GitHubIssueTracker.js +7 -3
- package/dist/esm/services/TaskTracker/GitHubIssueTracker.js.map +1 -1
- package/dist/esm/services/TaskTracker/LinearTracker.js +5 -1
- package/dist/esm/services/TaskTracker/LinearTracker.js.map +1 -1
- package/dist/esm/shim/main.js +4 -1
- package/dist/esm/shim/main.js.map +1 -1
- package/package.json +1 -1
- package/src/lib/StreamJsonParser.ts +1 -1
- package/src/services/ChatMachine.ts +11 -3
- package/src/services/LalphConfig.ts +37 -2
- package/src/services/LinearSdkClient.ts +6 -1
- package/src/services/PlanSession.ts +57 -6
- package/src/services/TaskTracker/GitHubIssueTracker.ts +10 -3
- package/src/services/TaskTracker/LinearTracker.ts +4 -1
- 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
|
-
|
|
46
|
-
|
|
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: `${
|
|
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
|
-
|
|
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": {
|