lalph 0.3.102 → 0.3.103
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/cli.mjs +29 -37
- package/package.json +2 -2
- package/src/Github.ts +0 -5
- package/src/IssueSource.ts +6 -1
- package/src/Linear.ts +0 -10
package/dist/cli.mjs
CHANGED
|
@@ -178327,6 +178327,10 @@ var IssueSource = class IssueSource extends Service$1()("lalph/IssueSource") {
|
|
|
178327
178327
|
...impl,
|
|
178328
178328
|
ref: (projectId) => get$6(refs, projectId),
|
|
178329
178329
|
issues: updateIssues,
|
|
178330
|
+
findById: fnUntraced(function* (projectId, issueId) {
|
|
178331
|
+
const { issues } = yield* get$5(yield* get$6(refs, projectId));
|
|
178332
|
+
return issues.find((issue) => issue.id === issueId) ?? null;
|
|
178333
|
+
}),
|
|
178330
178334
|
createIssue: (projectId, issue) => pipe$1(impl.createIssue(projectId, issue), tap$1(updateIssues(projectId))),
|
|
178331
178335
|
updateIssue: (options) => pipe$1(impl.updateIssue(options), tap$1(updateIssues(options.projectId))),
|
|
178332
178336
|
cancelIssue: (projectId, issueId) => pipe$1(impl.cancelIssue(projectId, issueId), tap$1(updateIssues(projectId)))
|
|
@@ -181663,7 +181667,7 @@ var ji = Bt, Ii = Object.assign(Qe, { sync: Bt }), zi = Ut, Bi = Object.assign(e
|
|
|
181663
181667
|
});
|
|
181664
181668
|
Ze.glob = Ze;
|
|
181665
181669
|
//#endregion
|
|
181666
|
-
//#region node_modules/.pnpm/clanka@0.2.
|
|
181670
|
+
//#region node_modules/.pnpm/clanka@0.2.32_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_8434c7a6d7cf2df82b40c37b0cfc4477/node_modules/clanka/dist/ApplyPatch.js
|
|
181667
181671
|
/**
|
|
181668
181672
|
* @since 1.0.0
|
|
181669
181673
|
*/
|
|
@@ -196536,7 +196540,7 @@ var StreamableHTTPClientTransport = class {
|
|
|
196536
196540
|
}
|
|
196537
196541
|
};
|
|
196538
196542
|
//#endregion
|
|
196539
|
-
//#region node_modules/.pnpm/clanka@0.2.
|
|
196543
|
+
//#region node_modules/.pnpm/clanka@0.2.32_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_8434c7a6d7cf2df82b40c37b0cfc4477/node_modules/clanka/dist/McpClient.js
|
|
196540
196544
|
/**
|
|
196541
196545
|
* @since 1.0.0
|
|
196542
196546
|
*/
|
|
@@ -196581,7 +196585,7 @@ const layer$13 = effect$1(McpClient, gen(function* () {
|
|
|
196581
196585
|
});
|
|
196582
196586
|
}));
|
|
196583
196587
|
//#endregion
|
|
196584
|
-
//#region node_modules/.pnpm/clanka@0.2.
|
|
196588
|
+
//#region node_modules/.pnpm/clanka@0.2.32_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_8434c7a6d7cf2df82b40c37b0cfc4477/node_modules/clanka/dist/ExaSearch.js
|
|
196585
196589
|
/**
|
|
196586
196590
|
* @since 1.0.0
|
|
196587
196591
|
*/
|
|
@@ -211531,7 +211535,7 @@ var require_lib = /* @__PURE__ */ __commonJSMin$1(((exports) => {
|
|
|
211531
211535
|
exports.impl = impl;
|
|
211532
211536
|
}));
|
|
211533
211537
|
//#endregion
|
|
211534
|
-
//#region node_modules/.pnpm/clanka@0.2.
|
|
211538
|
+
//#region node_modules/.pnpm/clanka@0.2.32_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_8434c7a6d7cf2df82b40c37b0cfc4477/node_modules/clanka/dist/WebToMarkdown.js
|
|
211535
211539
|
/**
|
|
211536
211540
|
* @since 1.0.0
|
|
211537
211541
|
*/
|
|
@@ -214670,7 +214674,7 @@ function isEmptyParamsRecord(indexSignature) {
|
|
|
214670
214674
|
return indexSignature.parameter === string$3 && isNever(indexSignature.type);
|
|
214671
214675
|
}
|
|
214672
214676
|
//#endregion
|
|
214673
|
-
//#region node_modules/.pnpm/clanka@0.2.
|
|
214677
|
+
//#region node_modules/.pnpm/clanka@0.2.32_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_8434c7a6d7cf2df82b40c37b0cfc4477/node_modules/clanka/dist/SemanticSearch/Service.js
|
|
214674
214678
|
/**
|
|
214675
214679
|
* @since 1.0.0
|
|
214676
214680
|
*/
|
|
@@ -214696,7 +214700,7 @@ const maybeRemoveFile = (path) => serviceOption(SemanticSearch).pipe(flatMap$4(m
|
|
|
214696
214700
|
onSome: (service) => service.removeFile(path)
|
|
214697
214701
|
})));
|
|
214698
214702
|
//#endregion
|
|
214699
|
-
//#region node_modules/.pnpm/clanka@0.2.
|
|
214703
|
+
//#region node_modules/.pnpm/clanka@0.2.32_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_8434c7a6d7cf2df82b40c37b0cfc4477/node_modules/clanka/dist/AgentTools.js
|
|
214700
214704
|
/**
|
|
214701
214705
|
* @since 1.0.0
|
|
214702
214706
|
*/
|
|
@@ -215099,7 +215103,7 @@ const AgentToolHandlers = AgentToolHandlersNoDeps.pipe(provide$3([layer$12, laye
|
|
|
215099
215103
|
AgentToolHandlersNoDeps.pipe(provide$3([mock(ExaSearch)({}), mock(WebToMarkdown)({})]));
|
|
215100
215104
|
var ApplyPatchError = class extends TaggedClass$2("ApplyPatchError") {};
|
|
215101
215105
|
//#endregion
|
|
215102
|
-
//#region node_modules/.pnpm/clanka@0.2.
|
|
215106
|
+
//#region node_modules/.pnpm/clanka@0.2.32_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_8434c7a6d7cf2df82b40c37b0cfc4477/node_modules/clanka/dist/TypeBuilder.js
|
|
215103
215107
|
const resolveDocumentation = resolveAt("documentation");
|
|
215104
215108
|
const identifierPattern = /^[$A-Z_a-z][$0-9A-Z_a-z]*$/u;
|
|
215105
215109
|
const Precedence = {
|
|
@@ -215372,7 +215376,7 @@ const render = (schema, options) => {
|
|
|
215372
215376
|
return printNode({ text: documentation === void 0 ? rendered.text : `${renderJsDoc(documentation, 0, printerOptions)}${printerOptions.newLine}${rendered.text}` }, printerOptions);
|
|
215373
215377
|
};
|
|
215374
215378
|
//#endregion
|
|
215375
|
-
//#region node_modules/.pnpm/clanka@0.2.
|
|
215379
|
+
//#region node_modules/.pnpm/clanka@0.2.32_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_8434c7a6d7cf2df82b40c37b0cfc4477/node_modules/clanka/dist/ToolkitRenderer.js
|
|
215376
215380
|
/**
|
|
215377
215381
|
* @since 1.0.0
|
|
215378
215382
|
*/
|
|
@@ -215394,7 +215398,7 @@ declare function ${name}(${params}): Promise<${render(tool.successSchema)}>`);
|
|
|
215394
215398
|
}) });
|
|
215395
215399
|
};
|
|
215396
215400
|
//#endregion
|
|
215397
|
-
//#region node_modules/.pnpm/clanka@0.2.
|
|
215401
|
+
//#region node_modules/.pnpm/clanka@0.2.32_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_8434c7a6d7cf2df82b40c37b0cfc4477/node_modules/clanka/dist/ScriptPreprocessing.js
|
|
215398
215402
|
const callTemplateTargets = ["applyPatch", "taskComplete"];
|
|
215399
215403
|
const objectPropertyTargets = [{
|
|
215400
215404
|
functionName: "writeFile",
|
|
@@ -215873,7 +215877,7 @@ const rewriteAssignedTargets = (script) => {
|
|
|
215873
215877
|
};
|
|
215874
215878
|
const preprocessScript = (script) => rewriteAssignedTargets(rewriteDirectTemplates(script));
|
|
215875
215879
|
//#endregion
|
|
215876
|
-
//#region node_modules/.pnpm/clanka@0.2.
|
|
215880
|
+
//#region node_modules/.pnpm/clanka@0.2.32_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_8434c7a6d7cf2df82b40c37b0cfc4477/node_modules/clanka/dist/AgentExecutor.js
|
|
215877
215881
|
/**
|
|
215878
215882
|
* @since 1.0.0
|
|
215879
215883
|
*/
|
|
@@ -216058,7 +216062,7 @@ var QueueWriteStream = class extends Writable {
|
|
|
216058
216062
|
}
|
|
216059
216063
|
};
|
|
216060
216064
|
//#endregion
|
|
216061
|
-
//#region node_modules/.pnpm/clanka@0.2.
|
|
216065
|
+
//#region node_modules/.pnpm/clanka@0.2.32_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_8434c7a6d7cf2df82b40c37b0cfc4477/node_modules/clanka/dist/ScriptExtraction.js
|
|
216062
216066
|
const stripWrappingCodeFence = (script) => {
|
|
216063
216067
|
const lines = script.split(/\r?\n/);
|
|
216064
216068
|
if (lines.length < 2) return script;
|
|
@@ -217607,7 +217611,7 @@ const applySpanTransformer = (transformer, response, options) => {
|
|
|
217607
217611
|
});
|
|
217608
217612
|
};
|
|
217609
217613
|
//#endregion
|
|
217610
|
-
//#region node_modules/.pnpm/clanka@0.2.
|
|
217614
|
+
//#region node_modules/.pnpm/clanka@0.2.32_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_8434c7a6d7cf2df82b40c37b0cfc4477/node_modules/clanka/dist/Agent.js
|
|
217611
217615
|
/**
|
|
217612
217616
|
* @since 1.0.0
|
|
217613
217617
|
*/
|
|
@@ -217888,9 +217892,9 @@ ${content}
|
|
|
217888
217892
|
});
|
|
217889
217893
|
});
|
|
217890
217894
|
const retryPolicy = exponential(100, 1.5).pipe(either(spaced(5e3)), jittered);
|
|
217891
|
-
const defaultSystem = (options) => `You are a world-class software engineer: precise, rigorous, thoughtful, and
|
|
217895
|
+
const defaultSystem = (options) => `You are a world-class software engineer: precise, rigorous, thoughtful, and efficient. You fully understand the task, verify assumptions, and produce minimal, correct, maintainable solutions. You make no mistakes.
|
|
217892
217896
|
|
|
217893
|
-
-
|
|
217897
|
+
- Fully read and understand your task before proceeding.
|
|
217894
217898
|
- Only add comments when necessary.
|
|
217895
217899
|
|
|
217896
217900
|
${options.toolInstructions}
|
|
@@ -229113,7 +229117,7 @@ const transformToolCallParams = /* @__PURE__ */ fnUntraced(function* (tools, too
|
|
|
229113
229117
|
})));
|
|
229114
229118
|
});
|
|
229115
229119
|
//#endregion
|
|
229116
|
-
//#region node_modules/.pnpm/clanka@0.2.
|
|
229120
|
+
//#region node_modules/.pnpm/clanka@0.2.32_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_8434c7a6d7cf2df82b40c37b0cfc4477/node_modules/clanka/dist/CodexAuth.js
|
|
229117
229121
|
/**
|
|
229118
229122
|
* @since 1.0.0
|
|
229119
229123
|
*/
|
|
@@ -229333,7 +229337,7 @@ var CodexAuth = class CodexAuth extends Service$1()("clanka/CodexAuth") {
|
|
|
229333
229337
|
static layerClient = this.layerClientNoDeps.pipe(provide$3(CodexAuth.layer));
|
|
229334
229338
|
};
|
|
229335
229339
|
//#endregion
|
|
229336
|
-
//#region node_modules/.pnpm/clanka@0.2.
|
|
229340
|
+
//#region node_modules/.pnpm/clanka@0.2.32_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_8434c7a6d7cf2df82b40c37b0cfc4477/node_modules/clanka/dist/Codex.js
|
|
229337
229341
|
/**
|
|
229338
229342
|
* @since 1.0.0
|
|
229339
229343
|
*/
|
|
@@ -229359,7 +229363,7 @@ const layerModel = (model, options) => layer$7({
|
|
|
229359
229363
|
}
|
|
229360
229364
|
}).pipe(merge$6(AgentModelConfig.layer({ systemPromptTransform: (system, effect) => withConfigOverride(effect, { instructions: system }) })));
|
|
229361
229365
|
//#endregion
|
|
229362
|
-
//#region node_modules/.pnpm/clanka@0.2.
|
|
229366
|
+
//#region node_modules/.pnpm/clanka@0.2.32_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_8434c7a6d7cf2df82b40c37b0cfc4477/node_modules/clanka/dist/CodeChunker.js
|
|
229363
229367
|
/**
|
|
229364
229368
|
* @since 1.0.0
|
|
229365
229369
|
*/
|
|
@@ -231119,7 +231123,7 @@ const getUsageDetailNumber = (details, field) => {
|
|
|
231119
231123
|
return typeof value === "number" ? value : void 0;
|
|
231120
231124
|
};
|
|
231121
231125
|
//#endregion
|
|
231122
|
-
//#region node_modules/.pnpm/clanka@0.2.
|
|
231126
|
+
//#region node_modules/.pnpm/clanka@0.2.32_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_8434c7a6d7cf2df82b40c37b0cfc4477/node_modules/clanka/dist/CopilotAuth.js
|
|
231123
231127
|
/**
|
|
231124
231128
|
* @since 1.0.0
|
|
231125
231129
|
*/
|
|
@@ -231310,7 +231314,7 @@ var GithubCopilotAuth = class GithubCopilotAuth extends Service$1()("clanka/Gith
|
|
|
231310
231314
|
static layerClient = this.layerClientNoDeps.pipe(provide$3(GithubCopilotAuth.layer));
|
|
231311
231315
|
};
|
|
231312
231316
|
//#endregion
|
|
231313
|
-
//#region node_modules/.pnpm/clanka@0.2.
|
|
231317
|
+
//#region node_modules/.pnpm/clanka@0.2.32_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_8434c7a6d7cf2df82b40c37b0cfc4477/node_modules/clanka/dist/Copilot.js
|
|
231314
231318
|
/**
|
|
231315
231319
|
* @since 1.0.0
|
|
231316
231320
|
*/
|
|
@@ -231730,7 +231734,7 @@ Object.defineProperties(createChalk.prototype, styles);
|
|
|
231730
231734
|
const chalk = createChalk();
|
|
231731
231735
|
createChalk({ level: stderrColor ? stderrColor.level : 0 });
|
|
231732
231736
|
//#endregion
|
|
231733
|
-
//#region node_modules/.pnpm/clanka@0.2.
|
|
231737
|
+
//#region node_modules/.pnpm/clanka@0.2.32_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_8434c7a6d7cf2df82b40c37b0cfc4477/node_modules/clanka/dist/OutputFormatter.js
|
|
231734
231738
|
/**
|
|
231735
231739
|
* @since 1.0.0
|
|
231736
231740
|
*/
|
|
@@ -232438,7 +232442,7 @@ select * from ${sql(options.tableName)} where ${sql(idColumn)} = LAST_INSERT_ID(
|
|
|
232438
232442
|
};
|
|
232439
232443
|
});
|
|
232440
232444
|
//#endregion
|
|
232441
|
-
//#region node_modules/.pnpm/clanka@0.2.
|
|
232445
|
+
//#region node_modules/.pnpm/clanka@0.2.32_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_8434c7a6d7cf2df82b40c37b0cfc4477/node_modules/clanka/dist/ChunkRepo.js
|
|
232442
232446
|
/**
|
|
232443
232447
|
* @since 1.0.0
|
|
232444
232448
|
* @category Models
|
|
@@ -232704,7 +232708,7 @@ const run$1 = /* @__PURE__ */ make$25({});
|
|
|
232704
232708
|
*/
|
|
232705
232709
|
const layer$1 = (options) => effectDiscard(run$1(options));
|
|
232706
232710
|
//#endregion
|
|
232707
|
-
//#region node_modules/.pnpm/clanka@0.2.
|
|
232711
|
+
//#region node_modules/.pnpm/clanka@0.2.32_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_8434c7a6d7cf2df82b40c37b0cfc4477/node_modules/clanka/dist/internal/sqlite-vector.js
|
|
232708
232712
|
/**
|
|
232709
232713
|
* Binary extension for each platform
|
|
232710
232714
|
*/
|
|
@@ -232821,7 +232825,7 @@ function getExtensionPath() {
|
|
|
232821
232825
|
throw new ExtensionNotFoundError(`SQLite Vector extension not found for platform: ${getCurrentPlatform()}\n\nThe platform-specific package "${getPlatformPackageName()}" is not installed.\nThis usually happens when:\n 1. Your platform is not supported\n 2. npm failed to install optional dependencies\n 3. You're installing with --no-optional flag\n\nTry running: npm install --force`);
|
|
232822
232826
|
}
|
|
232823
232827
|
//#endregion
|
|
232824
|
-
//#region node_modules/.pnpm/clanka@0.2.
|
|
232828
|
+
//#region node_modules/.pnpm/clanka@0.2.32_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_8434c7a6d7cf2df82b40c37b0cfc4477/node_modules/clanka/dist/Sqlite.js
|
|
232825
232829
|
/**
|
|
232826
232830
|
* @since 1.0.0
|
|
232827
232831
|
*/
|
|
@@ -232849,7 +232853,7 @@ const SqliteLayer = (database) => layer$1({ loader: fromRecord({ "0001_create_ch
|
|
|
232849
232853
|
yield* fs.makeDirectory(directory, { recursive: true });
|
|
232850
232854
|
}))));
|
|
232851
232855
|
//#endregion
|
|
232852
|
-
//#region node_modules/.pnpm/clanka@0.2.
|
|
232856
|
+
//#region node_modules/.pnpm/clanka@0.2.32_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_8434c7a6d7cf2df82b40c37b0cfc4477/node_modules/clanka/dist/SemanticSearch.js
|
|
232853
232857
|
/**
|
|
232854
232858
|
* @since 1.0.0
|
|
232855
232859
|
*/
|
|
@@ -233278,15 +233282,6 @@ const LinearIssueSource = effect$1(IssueSource, gen(function* () {
|
|
|
233278
233282
|
autoMergeLabelId: settings.autoMergeLabelId
|
|
233279
233283
|
});
|
|
233280
233284
|
}),
|
|
233281
|
-
findById: fnUntraced(function* (projectId, issueId) {
|
|
233282
|
-
const settings = yield* get$8(projectSettings, projectId);
|
|
233283
|
-
return (yield* issues({
|
|
233284
|
-
projectId: settings.project.id,
|
|
233285
|
-
labelId: settings.labelId,
|
|
233286
|
-
teamId: settings.teamId,
|
|
233287
|
-
autoMergeLabelId: settings.autoMergeLabelId
|
|
233288
|
-
})).find((issue) => issue.id === issueId) ?? null;
|
|
233289
|
-
}),
|
|
233290
233285
|
createIssue: fnUntraced(function* (projectId, issue) {
|
|
233291
233286
|
const { teamId, labelId, autoMergeLabelId, project } = yield* get$8(projectSettings, projectId);
|
|
233292
233287
|
const created = yield* linear.use((c) => c.createIssue({
|
|
@@ -240115,9 +240110,6 @@ const GithubIssueSource = effect$1(IssueSource, gen(function* () {
|
|
|
240115
240110
|
issues: fnUntraced(function* (projectId) {
|
|
240116
240111
|
return yield* issues(yield* get$8(projectSettings, projectId));
|
|
240117
240112
|
}),
|
|
240118
|
-
findById: fnUntraced(function* (projectId, issueId) {
|
|
240119
|
-
return (yield* issues(yield* get$8(projectSettings, projectId))).find((issue) => issue.id === issueId) ?? null;
|
|
240120
|
-
}),
|
|
240121
240113
|
createIssue: fnUntraced(function* (projectId, issue) {
|
|
240122
240114
|
const { labelFilter, autoMergeLabelName } = yield* get$8(projectSettings, projectId);
|
|
240123
240115
|
const created = yield* createIssue({
|
|
@@ -242562,7 +242554,7 @@ const commandEdit = make$60("edit").pipe(withDescription("Open the selected proj
|
|
|
242562
242554
|
const commandSource = make$60("source").pipe(withDescription("Select the issue source to use (e.g. GitHub Issues or Linear). This applies to all projects."), withHandler(() => selectIssueSource), provide(Settings.layer));
|
|
242563
242555
|
//#endregion
|
|
242564
242556
|
//#region package.json
|
|
242565
|
-
var version = "0.3.
|
|
242557
|
+
var version = "0.3.103";
|
|
242566
242558
|
//#endregion
|
|
242567
242559
|
//#region src/Tracing.ts
|
|
242568
242560
|
const TracingLayer = unwrap$3(gen(function* () {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lalph",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.3.
|
|
4
|
+
"version": "0.3.103",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"@octokit/plugin-rest-endpoint-methods": "^17.0.0",
|
|
46
46
|
"@octokit/types": "^16.0.0",
|
|
47
47
|
"@typescript/native-preview": "7.0.0-dev.20260322.1",
|
|
48
|
-
"clanka": "^0.2.
|
|
48
|
+
"clanka": "^0.2.32",
|
|
49
49
|
"concurrently": "^9.2.1",
|
|
50
50
|
"effect": "4.0.0-beta.37",
|
|
51
51
|
"husky": "^9.1.7",
|
package/src/Github.ts
CHANGED
|
@@ -492,11 +492,6 @@ export const GithubIssueSource = Layer.effect(
|
|
|
492
492
|
const settings = yield* Cache.get(projectSettings, projectId)
|
|
493
493
|
return yield* issues(settings)
|
|
494
494
|
}),
|
|
495
|
-
findById: Effect.fnUntraced(function* (projectId, issueId) {
|
|
496
|
-
const settings = yield* Cache.get(projectSettings, projectId)
|
|
497
|
-
const projectIssues = yield* issues(settings)
|
|
498
|
-
return projectIssues.find((issue) => issue.id === issueId) ?? null
|
|
499
|
-
}),
|
|
500
495
|
createIssue: Effect.fnUntraced(
|
|
501
496
|
function* (projectId, issue) {
|
|
502
497
|
const { labelFilter, autoMergeLabelName } = yield* Cache.get(
|
package/src/IssueSource.ts
CHANGED
|
@@ -92,7 +92,7 @@ export class IssueSource extends ServiceMap.Service<
|
|
|
92
92
|
) => Effect.Effect<void, IssueSourceError>
|
|
93
93
|
}
|
|
94
94
|
>()("lalph/IssueSource") {
|
|
95
|
-
static make(impl: Omit<IssueSource["Service"], "ref">) {
|
|
95
|
+
static make(impl: Omit<IssueSource["Service"], "ref" | "findById">) {
|
|
96
96
|
return Effect.gen(function* () {
|
|
97
97
|
const refs = yield* ScopedCache.make({
|
|
98
98
|
lookup: Effect.fnUntraced(function* (projectId: ProjectId) {
|
|
@@ -143,6 +143,11 @@ export class IssueSource extends ServiceMap.Service<
|
|
|
143
143
|
...impl,
|
|
144
144
|
ref: (projectId) => ScopedCache.get(refs, projectId),
|
|
145
145
|
issues: updateIssues,
|
|
146
|
+
findById: Effect.fnUntraced(function* (projectId, issueId) {
|
|
147
|
+
const ref = yield* ScopedCache.get(refs, projectId)
|
|
148
|
+
const { issues } = yield* SubscriptionRef.get(ref)
|
|
149
|
+
return issues.find((issue) => issue.id === issueId) ?? null
|
|
150
|
+
}),
|
|
146
151
|
createIssue: (projectId, issue) =>
|
|
147
152
|
pipe(
|
|
148
153
|
impl.createIssue(projectId, issue),
|
package/src/Linear.ts
CHANGED
|
@@ -339,16 +339,6 @@ export const LinearIssueSource = Layer.effect(
|
|
|
339
339
|
autoMergeLabelId: settings.autoMergeLabelId,
|
|
340
340
|
})
|
|
341
341
|
}),
|
|
342
|
-
findById: Effect.fnUntraced(function* (projectId, issueId) {
|
|
343
|
-
const settings = yield* Cache.get(projectSettings, projectId)
|
|
344
|
-
const projectIssues = yield* issues({
|
|
345
|
-
projectId: settings.project.id,
|
|
346
|
-
labelId: settings.labelId,
|
|
347
|
-
teamId: settings.teamId,
|
|
348
|
-
autoMergeLabelId: settings.autoMergeLabelId,
|
|
349
|
-
})
|
|
350
|
-
return projectIssues.find((issue) => issue.id === issueId) ?? null
|
|
351
|
-
}),
|
|
352
342
|
createIssue: Effect.fnUntraced(
|
|
353
343
|
function* (projectId, issue) {
|
|
354
344
|
const { teamId, labelId, autoMergeLabelId, project } =
|