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 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.31_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_e6618f2236cf2d744a8a10cef6e9a9fd/node_modules/clanka/dist/ApplyPatch.js
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.31_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_e6618f2236cf2d744a8a10cef6e9a9fd/node_modules/clanka/dist/McpClient.js
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.31_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_e6618f2236cf2d744a8a10cef6e9a9fd/node_modules/clanka/dist/ExaSearch.js
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.31_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_e6618f2236cf2d744a8a10cef6e9a9fd/node_modules/clanka/dist/WebToMarkdown.js
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.31_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_e6618f2236cf2d744a8a10cef6e9a9fd/node_modules/clanka/dist/SemanticSearch/Service.js
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.31_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_e6618f2236cf2d744a8a10cef6e9a9fd/node_modules/clanka/dist/AgentTools.js
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.31_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_e6618f2236cf2d744a8a10cef6e9a9fd/node_modules/clanka/dist/TypeBuilder.js
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.31_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_e6618f2236cf2d744a8a10cef6e9a9fd/node_modules/clanka/dist/ToolkitRenderer.js
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.31_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_e6618f2236cf2d744a8a10cef6e9a9fd/node_modules/clanka/dist/ScriptPreprocessing.js
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.31_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_e6618f2236cf2d744a8a10cef6e9a9fd/node_modules/clanka/dist/AgentExecutor.js
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.31_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_e6618f2236cf2d744a8a10cef6e9a9fd/node_modules/clanka/dist/ScriptExtraction.js
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.31_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_e6618f2236cf2d744a8a10cef6e9a9fd/node_modules/clanka/dist/Agent.js
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 relentlessly careful. You fully understand the task, verify assumptions, and produce minimal, correct, maintainable solutions. You make no mistakes.
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
- - **Fully read and understand your task** before proceeding.
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.31_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_e6618f2236cf2d744a8a10cef6e9a9fd/node_modules/clanka/dist/CodexAuth.js
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.31_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_e6618f2236cf2d744a8a10cef6e9a9fd/node_modules/clanka/dist/Codex.js
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.31_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_e6618f2236cf2d744a8a10cef6e9a9fd/node_modules/clanka/dist/CodeChunker.js
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.31_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_e6618f2236cf2d744a8a10cef6e9a9fd/node_modules/clanka/dist/CopilotAuth.js
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.31_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_e6618f2236cf2d744a8a10cef6e9a9fd/node_modules/clanka/dist/Copilot.js
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.31_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_e6618f2236cf2d744a8a10cef6e9a9fd/node_modules/clanka/dist/OutputFormatter.js
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.31_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_e6618f2236cf2d744a8a10cef6e9a9fd/node_modules/clanka/dist/ChunkRepo.js
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.31_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_e6618f2236cf2d744a8a10cef6e9a9fd/node_modules/clanka/dist/internal/sqlite-vector.js
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.31_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_e6618f2236cf2d744a8a10cef6e9a9fd/node_modules/clanka/dist/Sqlite.js
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.31_@effect+ai-openai-compat@4.0.0-beta.37_effect@4.0.0-beta.37__@effect+ai-o_e6618f2236cf2d744a8a10cef6e9a9fd/node_modules/clanka/dist/SemanticSearch.js
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.102";
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.102",
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.31",
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(
@@ -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 } =