@locusai/sdk 0.8.1 → 0.9.1

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 (72) hide show
  1. package/dist/agent/__tests__/orchestrator.cleanup.test.d.ts +2 -0
  2. package/dist/agent/__tests__/orchestrator.cleanup.test.d.ts.map +1 -0
  3. package/dist/agent/__tests__/worker.no-changes.test.d.ts +2 -0
  4. package/dist/agent/__tests__/worker.no-changes.test.d.ts.map +1 -0
  5. package/dist/agent/document-fetcher.d.ts.map +1 -1
  6. package/dist/agent/index.d.ts +1 -0
  7. package/dist/agent/index.d.ts.map +1 -1
  8. package/dist/agent/review-service.d.ts.map +1 -1
  9. package/dist/agent/reviewer-worker.d.ts +42 -0
  10. package/dist/agent/reviewer-worker.d.ts.map +1 -0
  11. package/dist/agent/task-executor.d.ts +1 -1
  12. package/dist/agent/task-executor.d.ts.map +1 -1
  13. package/dist/agent/worker.d.ts +47 -4
  14. package/dist/agent/worker.d.ts.map +1 -1
  15. package/dist/agent/worker.js +1102 -506
  16. package/dist/ai/claude-runner.d.ts +5 -0
  17. package/dist/ai/claude-runner.d.ts.map +1 -1
  18. package/dist/ai/codex-runner.d.ts +5 -0
  19. package/dist/ai/codex-runner.d.ts.map +1 -1
  20. package/dist/ai/runner.d.ts +5 -0
  21. package/dist/ai/runner.d.ts.map +1 -1
  22. package/dist/core/config.d.ts +10 -2
  23. package/dist/core/config.d.ts.map +1 -1
  24. package/dist/core/index.d.ts +1 -1
  25. package/dist/core/index.d.ts.map +1 -1
  26. package/dist/core/prompt-builder.d.ts +3 -6
  27. package/dist/core/prompt-builder.d.ts.map +1 -1
  28. package/dist/git/git-utils.d.ts +31 -0
  29. package/dist/git/git-utils.d.ts.map +1 -0
  30. package/dist/git/index.d.ts +3 -0
  31. package/dist/git/index.d.ts.map +1 -0
  32. package/dist/git/pr-service.d.ts +66 -0
  33. package/dist/git/pr-service.d.ts.map +1 -0
  34. package/dist/index-node.d.ts +5 -1
  35. package/dist/index-node.d.ts.map +1 -1
  36. package/dist/index-node.js +2560 -729
  37. package/dist/index.d.ts +0 -3
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +17 -49
  40. package/dist/modules/auth.d.ts +3 -0
  41. package/dist/modules/auth.d.ts.map +1 -1
  42. package/dist/modules/tasks.d.ts +0 -5
  43. package/dist/modules/tasks.d.ts.map +1 -1
  44. package/dist/modules/workspaces.d.ts +10 -10
  45. package/dist/modules/workspaces.d.ts.map +1 -1
  46. package/dist/orchestrator.d.ts +38 -5
  47. package/dist/orchestrator.d.ts.map +1 -1
  48. package/dist/planning/agents/architect.d.ts +15 -0
  49. package/dist/planning/agents/architect.d.ts.map +1 -0
  50. package/dist/planning/agents/sprint-organizer.d.ts +14 -0
  51. package/dist/planning/agents/sprint-organizer.d.ts.map +1 -0
  52. package/dist/planning/agents/tech-lead.d.ts +15 -0
  53. package/dist/planning/agents/tech-lead.d.ts.map +1 -0
  54. package/dist/planning/index.d.ts +4 -0
  55. package/dist/planning/index.d.ts.map +1 -0
  56. package/dist/planning/plan-manager.d.ts +52 -0
  57. package/dist/planning/plan-manager.d.ts.map +1 -0
  58. package/dist/planning/planning-meeting.d.ts +36 -0
  59. package/dist/planning/planning-meeting.d.ts.map +1 -0
  60. package/dist/planning/sprint-plan.d.ts +47 -0
  61. package/dist/planning/sprint-plan.d.ts.map +1 -0
  62. package/dist/project/knowledge-base.d.ts +25 -0
  63. package/dist/project/knowledge-base.d.ts.map +1 -0
  64. package/dist/worktree/index.d.ts +3 -0
  65. package/dist/worktree/index.d.ts.map +1 -0
  66. package/dist/worktree/worktree-config.d.ts +58 -0
  67. package/dist/worktree/worktree-config.d.ts.map +1 -0
  68. package/dist/worktree/worktree-manager.d.ts +96 -0
  69. package/dist/worktree/worktree-manager.d.ts.map +1 -0
  70. package/package.json +2 -2
  71. package/dist/modules/ai.d.ts +0 -55
  72. package/dist/modules/ai.d.ts.map +0 -1
@@ -9,11 +9,16 @@ export declare class ClaudeRunner implements AiRunner {
9
9
  private eventEmitter?;
10
10
  private currentToolName?;
11
11
  private activeTools;
12
+ private activeProcess;
12
13
  constructor(projectPath: string, model?: string, log?: LogFn | undefined);
13
14
  /**
14
15
  * Set an event emitter to receive execution events.
15
16
  */
16
17
  setEventEmitter(emitter: ExecEventEmitter): void;
18
+ /**
19
+ * Abort the currently running Claude CLI process, if any.
20
+ */
21
+ abort(): void;
17
22
  run(prompt: string): Promise<string>;
18
23
  runStream(prompt: string): AsyncGenerator<StreamChunk, void, unknown>;
19
24
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"claude-runner.d.ts","sourceRoot":"","sources":["../../src/ai/claude-runner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAgC5C,qBAAa,YAAa,YAAW,QAAQ;IAQzC,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,GAAG,CAAC;IARd,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAC,CAAmB;IACxC,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,WAAW,CAA+C;gBAGhE,WAAW,EAAE,MAAM,EACX,KAAK,GAAE,MAAuC,EAC9C,GAAG,CAAC,EAAE,KAAK,YAAA;IAKrB;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAI1C,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAyBnC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC;IAqK5E;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiCzB,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,kBAAkB;IAwE1B,OAAO,CAAC,UAAU;IAkFlB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,oBAAoB;CAO7B"}
1
+ {"version":3,"file":"claude-runner.d.ts","sourceRoot":"","sources":["../../src/ai/claude-runner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAwC5C,qBAAa,YAAa,YAAW,QAAQ;IASzC,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,GAAG,CAAC;IATd,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAC,CAAmB;IACxC,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,WAAW,CAA+C;IAClE,OAAO,CAAC,aAAa,CAA6B;gBAGhD,WAAW,EAAE,MAAM,EACX,KAAK,GAAE,MAAuC,EAC9C,GAAG,CAAC,EAAE,KAAK,YAAA;IAKrB;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAIhD;;OAEG;IACH,KAAK,IAAI,IAAI;IAOP,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAyBnC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC;IA2K5E;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiCzB,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,kBAAkB;IAwE1B,OAAO,CAAC,UAAU;IAwFlB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,oBAAoB;CAO7B"}
@@ -5,7 +5,12 @@ export declare class CodexRunner implements AiRunner {
5
5
  private projectPath;
6
6
  private model;
7
7
  private log?;
8
+ private activeProcess;
8
9
  constructor(projectPath: string, model?: string, log?: LogFn | undefined);
10
+ /**
11
+ * Abort the currently running Codex CLI process, if any.
12
+ */
13
+ abort(): void;
9
14
  run(prompt: string): Promise<string>;
10
15
  runStream(prompt: string): AsyncGenerator<StreamChunk, void, unknown>;
11
16
  private executeRun;
@@ -1 +1 @@
1
- {"version":3,"file":"codex-runner.d.ts","sourceRoot":"","sources":["../../src/ai/codex-runner.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,qBAAa,WAAY,YAAW,QAAQ;IAExC,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,GAAG,CAAC;gBAFJ,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,MAAsC,EAC7C,GAAG,CAAC,EAAE,KAAK,YAAA;IAGf,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBnC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC;IA6G5E,OAAO,CAAC,UAAU;IAoDlB,OAAO,CAAC,SAAS;IAiBjB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,KAAK;CAGd"}
1
+ {"version":3,"file":"codex-runner.d.ts","sourceRoot":"","sources":["../../src/ai/codex-runner.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,qBAAa,WAAY,YAAW,QAAQ;IAIxC,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,GAAG,CAAC;IALd,OAAO,CAAC,aAAa,CAA6B;gBAGxC,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,MAAsC,EAC7C,GAAG,CAAC,EAAE,KAAK,YAAA;IAGrB;;OAEG;IACH,KAAK,IAAI,IAAI;IAOP,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBnC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC;IAgH5E,OAAO,CAAC,UAAU;IAuDlB,OAAO,CAAC,SAAS;IAkBjB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,KAAK;CAGd"}
@@ -8,6 +8,11 @@ export interface AiRunner {
8
8
  * Set an event emitter to receive execution events.
9
9
  */
10
10
  setEventEmitter?(emitter: ExecEventEmitter): void;
11
+ /**
12
+ * Abort the currently running CLI process, if any.
13
+ * Used during graceful shutdown to prevent orphaned processes.
14
+ */
15
+ abort(): void;
11
16
  }
12
17
  export type AiProvider = Provider;
13
18
  //# sourceMappingURL=runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/ai/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,WAAW,QAAQ;IACvB,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACtE;;OAEG;IACH,eAAe,CAAC,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACnD;AAED,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/ai/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,WAAW,QAAQ;IACvB,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACtE;;OAEG;IACH,eAAe,CAAC,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAClD;;;OAGG;IACH,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC"}
@@ -4,19 +4,27 @@ export declare const PROVIDER: {
4
4
  };
5
5
  export type Provider = (typeof PROVIDER)[keyof typeof PROVIDER];
6
6
  export declare const DEFAULT_MODEL: Record<Provider, string>;
7
+ export declare const LOCUS_SCHEMA_BASE_URL = "https://locusai.dev/schemas";
8
+ export declare const LOCUS_SCHEMAS: {
9
+ readonly config: "https://locusai.dev/schemas/config.schema.json";
10
+ readonly settings: "https://locusai.dev/schemas/settings.schema.json";
11
+ };
7
12
  export declare const LOCUS_CONFIG: {
8
13
  dir: string;
9
14
  configFile: string;
15
+ settingsFile: string;
10
16
  indexFile: string;
11
17
  contextFile: string;
12
18
  artifactsDir: string;
13
19
  documentsDir: string;
14
- agentSkillsDir: string;
15
20
  sessionsDir: string;
16
21
  reviewsDir: string;
17
22
  plansDir: string;
23
+ projectDir: string;
24
+ projectContextFile: string;
25
+ projectProgressFile: string;
18
26
  };
19
- export declare const LOCUS_GITIGNORE_PATTERNS: readonly ["# Locus AI - Session data (user-specific, can grow large)", ".locus/sessions/", "", "# Locus AI - Artifacts (local-only, user-specific)", ".locus/artifacts/", "", "# Locus AI - Review reports (generated per sprint)", ".locus/reviews/", "", "# Locus AI - Plans (generated per task)", ".locus/plans/"];
27
+ export declare const LOCUS_GITIGNORE_PATTERNS: readonly ["# Locus AI - Session data (user-specific, can grow large)", ".locus/sessions/", "", "# Locus AI - Artifacts (local-only, user-specific)", ".locus/artifacts/", "", "# Locus AI - Review reports (generated per sprint)", ".locus/reviews/", "", "# Locus AI - Plans (generated per task)", ".locus/plans/", "", "# Locus AI - Agent worktrees (parallel execution)", ".locus-worktrees/", "", "# Locus AI - Settings (contains API key, telegram config, etc.)", ".locus/settings.json"];
20
28
  export declare function getLocusPath(projectPath: string, fileName: keyof typeof LOCUS_CONFIG): string;
21
29
  /**
22
30
  * Gets the artifacts directory path for a specific agent.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ;;;CAGX,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAEhE,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAGlD,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;CAWxB,CAAC;AAIF,eAAO,MAAM,wBAAwB,wTAY3B,CAAC;AAEX,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,OAAO,YAAY,GAClC,MAAM,CAKR;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,MAAM,CASR"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ;;;CAGX,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAEhE,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAGlD,CAAC;AAEF,eAAO,MAAM,qBAAqB,gCAAgC,CAAC;AAEnE,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AAEX,eAAO,MAAM,YAAY;;;;;;;;;;;;;;CAcxB,CAAC;AAIF,eAAO,MAAM,wBAAwB,qeAkB3B,CAAC;AAEX,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,OAAO,YAAY,GAClC,MAAM,CAWR;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,MAAM,CASR"}
@@ -1,4 +1,4 @@
1
- export { DEFAULT_MODEL, getAgentArtifactsPath, getLocusPath, LOCUS_CONFIG, LOCUS_GITIGNORE_PATTERNS, PROVIDER, type Provider, } from "./config.js";
1
+ export { DEFAULT_MODEL, getAgentArtifactsPath, getLocusPath, LOCUS_CONFIG, LOCUS_GITIGNORE_PATTERNS, LOCUS_SCHEMA_BASE_URL, LOCUS_SCHEMAS, PROVIDER, type Provider, } from "./config.js";
2
2
  export { type CodebaseIndex, CodebaseIndexer } from "./indexer.js";
3
3
  export { PromptBuilder } from "./prompt-builder.js";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,wBAAwB,EACxB,QAAQ,EACR,KAAK,QAAQ,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,wBAAwB,EACxB,qBAAqB,EACrB,aAAa,EACb,QAAQ,EACR,KAAK,QAAQ,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,17 +1,14 @@
1
1
  import { Task } from "@locusai/shared";
2
- export interface PromptOptions {
3
- taskContext?: string;
4
- }
5
2
  export declare class PromptBuilder {
6
3
  private projectPath;
7
4
  constructor(projectPath: string);
8
- build(task: Task, options?: PromptOptions): Promise<string>;
5
+ build(task: Task, options?: {
6
+ taskContext?: string;
7
+ }): Promise<string>;
9
8
  buildGenericPrompt(query: string): Promise<string>;
10
9
  private getProjectConfig;
11
10
  private getFallbackContext;
12
11
  private getProjectStructure;
13
- private getSkillsInfo;
14
- private scanSkillsInDirectory;
15
12
  roleToText(role: Task["assigneeRole"]): string | null;
16
13
  }
17
14
  //# sourceMappingURL=prompt-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-builder.d.ts","sourceRoot":"","sources":["../../src/core/prompt-builder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAGrD,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,MAAM;IAEjC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAsI/D,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA6DxD,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,mBAAmB;IAyB3B,OAAO,CAAC,aAAa;IAyCrB,OAAO,CAAC,qBAAqB;IAmB7B,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,MAAM,GAAG,IAAI;CAoBtD"}
1
+ {"version":3,"file":"prompt-builder.d.ts","sourceRoot":"","sources":["../../src/core/prompt-builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAGrD,qBAAa,aAAa;IACZ,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,MAAM;IAEjC,KAAK,CACT,IAAI,EAAE,IAAI,EACV,OAAO,GAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO,GACrC,OAAO,CAAC,MAAM,CAAC;IA6HZ,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0DxD,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,mBAAmB;IAuB3B,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,MAAM,GAAG,IAAI;CAoBtD"}
@@ -0,0 +1,31 @@
1
+ export type RemoteProvider = "github" | "gitlab" | "bitbucket" | "unknown";
2
+ /**
3
+ * Check if `git` is installed and available.
4
+ */
5
+ export declare function isGitAvailable(): boolean;
6
+ /**
7
+ * Check if the GitHub CLI (`gh`) is installed and authenticated.
8
+ */
9
+ export declare function isGhAvailable(projectPath?: string): boolean;
10
+ /**
11
+ * Get the authenticated GitHub username via `gh`.
12
+ * Returns null if gh is not available or not authenticated.
13
+ */
14
+ export declare function getGhUsername(): string | null;
15
+ /**
16
+ * Detect the git remote provider from the origin URL.
17
+ */
18
+ export declare function detectRemoteProvider(projectPath: string): RemoteProvider;
19
+ /**
20
+ * Get the remote origin URL.
21
+ */
22
+ export declare function getRemoteUrl(projectPath: string, remote?: string): string | null;
23
+ /**
24
+ * Get the current branch name.
25
+ */
26
+ export declare function getCurrentBranch(projectPath: string): string;
27
+ /**
28
+ * Get the default branch of the remote (e.g. main, master).
29
+ */
30
+ export declare function getDefaultBranch(projectPath: string, remote?: string): string;
31
+ //# sourceMappingURL=git-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-utils.d.ts","sourceRoot":"","sources":["../../src/git/git-utils.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;AAE3E;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAUxC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAW3D;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAU7C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,CASxE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,MAAM,SAAW,GAChB,MAAM,GAAG,IAAI,CAUf;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAM5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,MAAM,SAAW,GAChB,MAAM,CAsCR"}
@@ -0,0 +1,3 @@
1
+ export { detectRemoteProvider, getCurrentBranch, getDefaultBranch, getRemoteUrl, type RemoteProvider, } from "./git-utils.js";
2
+ export { type CreatePrOptions, type PrResult, PrService, } from "./pr-service.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/git/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,KAAK,cAAc,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,SAAS,GACV,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,66 @@
1
+ import type { Task } from "@locusai/shared";
2
+ import type { LogFn } from "../ai/factory.js";
3
+ export interface CreatePrOptions {
4
+ task: Task;
5
+ branch: string;
6
+ baseBranch?: string;
7
+ agentId: string;
8
+ summary?: string;
9
+ }
10
+ export interface PrResult {
11
+ url: string;
12
+ number: number;
13
+ }
14
+ /**
15
+ * Creates and manages pull requests via the `gh` CLI.
16
+ * Requires the GitHub CLI (`gh`) to be installed and authenticated.
17
+ */
18
+ export declare class PrService {
19
+ private projectPath;
20
+ private log;
21
+ constructor(projectPath: string, log: LogFn);
22
+ /**
23
+ * Create a pull request for a completed task.
24
+ * Returns the PR URL and number.
25
+ */
26
+ createPr(options: CreatePrOptions): PrResult;
27
+ private validateCreatePrInputs;
28
+ private countCommitsAhead;
29
+ private resolveBranchRef;
30
+ private hasLocalBranch;
31
+ private hasRemoteTrackingBranch;
32
+ private hasRemoteBranch;
33
+ /**
34
+ * Get the diff for a PR by branch name.
35
+ */
36
+ getPrDiff(branch: string): string;
37
+ /**
38
+ * Post a review on a PR.
39
+ */
40
+ submitReview(prIdentifier: string, body: string, event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"): void;
41
+ /**
42
+ * List open PRs created by Locus agents.
43
+ */
44
+ listLocusPrs(): Array<{
45
+ number: number;
46
+ title: string;
47
+ url: string;
48
+ branch: string;
49
+ }>;
50
+ /**
51
+ * Check if a PR already has a Locus agent review comment.
52
+ */
53
+ hasLocusReview(prNumber: string): boolean;
54
+ /**
55
+ * List open Locus PRs that have not yet been reviewed by a Locus agent.
56
+ */
57
+ listUnreviewedLocusPrs(): Array<{
58
+ number: number;
59
+ title: string;
60
+ url: string;
61
+ branch: string;
62
+ }>;
63
+ private buildPrBody;
64
+ private extractPrNumber;
65
+ }
66
+ //# sourceMappingURL=pr-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-service.d.ts","sourceRoot":"","sources":["../../src/git/pr-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAO9C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,qBAAa,SAAS;IAElB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,GAAG;gBADH,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,KAAK;IAGpB;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,QAAQ;IA4D5C,OAAO,CAAC,sBAAsB;IAgC9B,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,eAAe;IAgBvB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IASjC;;OAEG;IACH,YAAY,CACV,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,GAAG,iBAAiB,GAAG,SAAS,GAC/C,IAAI;IAqCP;;OAEG;IACH,YAAY,IAAI,KAAK,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAwCF;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAyBzC;;OAEG;IACH,sBAAsB,IAAI,KAAK,CAAC;QAC9B,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAKF,OAAO,CAAC,WAAW;IAiCnB,OAAO,CAAC,eAAe;CAIxB"}
@@ -11,7 +11,11 @@ export * from "./ai/index.js";
11
11
  export * from "./core/index.js";
12
12
  export { PromptBuilder } from "./core/prompt-builder.js";
13
13
  export * from "./exec/index.js";
14
+ export * from "./git/index.js";
14
15
  export * from "./index.js";
15
- export { AgentOrchestrator, type OrchestratorConfig } from "./orchestrator.js";
16
+ export { AgentOrchestrator, type AgentState, type OrchestratorConfig, } from "./orchestrator.js";
17
+ export * from "./planning/index.js";
18
+ export { KnowledgeBase } from "./project/knowledge-base.js";
16
19
  export { c } from "./utils/colors.js";
20
+ export * from "./worktree/index.js";
17
21
  //# sourceMappingURL=index-node.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-node.d.ts","sourceRoot":"","sources":["../src/index-node.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,cAAc,kBAAkB,CAAC;AAEjC,cAAc,eAAe,CAAC;AAE9B,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,cAAc,iBAAiB,CAAC;AAEhC,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG/E,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index-node.d.ts","sourceRoot":"","sources":["../src/index-node.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,cAAc,kBAAkB,CAAC;AAEjC,cAAc,eAAe,CAAC;AAE9B,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,cAAc,iBAAiB,CAAC;AAEhC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,YAAY,CAAC;AAE3B,OAAO,EACL,iBAAiB,EACjB,KAAK,UAAU,EACf,KAAK,kBAAkB,GACxB,MAAM,mBAAmB,CAAC;AAE3B,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAEtC,cAAc,qBAAqB,CAAC"}