@locusai/sdk 0.4.16 → 0.5.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.
@@ -1,8 +1,15 @@
1
- export declare class ClaudeRunner {
2
- private projectPath;
1
+ import { LogFn } from "./factory.js";
2
+ import type { AiRunner } from "./runner.js";
3
+ export declare class ClaudeRunner implements AiRunner {
3
4
  private model;
4
- constructor(projectPath: string, model?: string);
5
+ private log?;
6
+ private projectPath;
7
+ constructor(projectPath: string, model?: string, log?: LogFn | undefined);
5
8
  run(prompt: string, _isPlanning?: boolean): Promise<string>;
6
9
  private executeRun;
10
+ private handleStreamLine;
11
+ private processStreamItem;
12
+ private handleEvent;
13
+ private createExecutionError;
7
14
  }
8
15
  //# sourceMappingURL=claude-runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-runner.d.ts","sourceRoot":"","sources":["../../src/ai/claude-runner.ts"],"names":[],"mappings":"AAGA,qBAAa,YAAY;IAErB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,KAAK;gBADL,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,MAAsB;IAGjC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAyB/D,OAAO,CAAC,UAAU;CAmDnB"}
1
+ {"version":3,"file":"claude-runner.d.ts","sourceRoot":"","sources":["../../src/ai/claude-runner.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAmB5C,qBAAa,YAAa,YAAW,QAAQ;IAKzC,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,GAAG,CAAC;IALd,OAAO,CAAC,WAAW,CAAS;gBAG1B,WAAW,EAAE,MAAM,EACX,KAAK,GAAE,MAAuC,EAC9C,GAAG,CAAC,EAAE,KAAK,YAAA;IAKf,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAyB/D,OAAO,CAAC,UAAU;IAoElB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,oBAAoB;CAO7B"}
@@ -0,0 +1,22 @@
1
+ import type { LogFn } from "./factory.js";
2
+ import type { AiRunner } from "./runner.js";
3
+ export declare class CodexRunner implements AiRunner {
4
+ private projectPath;
5
+ private model;
6
+ private log?;
7
+ constructor(projectPath: string, model?: string, log?: LogFn | undefined);
8
+ run(prompt: string): Promise<string>;
9
+ private executeRun;
10
+ private buildArgs;
11
+ /**
12
+ * Streams filtered output to console.
13
+ * Only displays thinking status, descriptions, and plan updates.
14
+ */
15
+ private streamToConsole;
16
+ private shouldDisplay;
17
+ private readOutput;
18
+ private createErrorFromOutput;
19
+ private cleanupTempFile;
20
+ private sleep;
21
+ }
22
+ //# sourceMappingURL=codex-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-runner.d.ts","sourceRoot":"","sources":["../../src/ai/codex-runner.ts"],"names":[],"mappings":"AAMA,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;IAuB1C,OAAO,CAAC,UAAU;IAoDlB,OAAO,CAAC,SAAS;IAWjB;;;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"}
@@ -0,0 +1,9 @@
1
+ import type { AiProvider, AiRunner } from "./runner.js";
2
+ export type LogFn = (message: string, level?: "info" | "success" | "warn" | "error") => void;
3
+ export interface AiRunnerConfig {
4
+ projectPath: string;
5
+ model?: string;
6
+ log?: LogFn;
7
+ }
8
+ export declare function createAiRunner(provider: AiProvider | undefined, config: AiRunnerConfig): AiRunner;
9
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/ai/factory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,MAAM,KAAK,GAAG,CAClB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,KAC1C,IAAI,CAAC;AAEV,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,KAAK,CAAC;CACb;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,UAAU,GAAG,SAAS,EAChC,MAAM,EAAE,cAAc,GACrB,QAAQ,CAUV"}
@@ -1,3 +1,6 @@
1
- export { AnthropicClient } from "./anthropic-client.js";
2
1
  export { ClaudeRunner } from "./claude-runner.js";
2
+ export { CodexRunner } from "./codex-runner.js";
3
+ export type { AiRunnerConfig, LogFn } from "./factory.js";
4
+ export { createAiRunner } from "./factory.js";
5
+ export type { AiProvider, AiRunner } from "./runner.js";
3
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Provider } from "../core/config.js";
2
+ export interface AiRunner {
3
+ run(prompt: string, isPlanning?: boolean): Promise<string>;
4
+ }
5
+ export type AiProvider = Provider;
6
+ //# sourceMappingURL=runner.d.ts.map
@@ -0,0 +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;AAElD,MAAM,WAAW,QAAQ;IACvB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5D;AAED,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC"}
@@ -1,4 +1,9 @@
1
- export declare const DEFAULT_MODEL = "sonnet";
1
+ export declare const PROVIDER: {
2
+ readonly CLAUDE: "claude";
3
+ readonly CODEX: "codex";
4
+ };
5
+ export type Provider = (typeof PROVIDER)[keyof typeof PROVIDER];
6
+ export declare const DEFAULT_MODEL: Record<Provider, string>;
2
7
  export declare const LOCUS_CONFIG: {
3
8
  dir: string;
4
9
  configFile: string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,WAAW,CAAC;AAEtC,eAAO,MAAM,YAAY;;;;;;CAMxB,CAAC;AAEF,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,OAAO,YAAY,GAClC,MAAM,CAKR"}
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;;;;;;CAMxB,CAAC;AAEF,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,OAAO,YAAY,GAClC,MAAM,CAKR"}
@@ -1,4 +1,4 @@
1
- export { DEFAULT_MODEL, getLocusPath, LOCUS_CONFIG } from "./config.js";
1
+ export { DEFAULT_MODEL, getLocusPath, LOCUS_CONFIG, 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,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACxE,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,YAAY,EACZ,YAAY,EACZ,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"}
@@ -2,17 +2,30 @@ export interface CodebaseIndex {
2
2
  symbols: Record<string, string[]>;
3
3
  responsibilities: Record<string, string>;
4
4
  lastIndexed: string;
5
+ treeHash?: string;
6
+ fileHashes?: Record<string, string>;
5
7
  }
6
8
  export declare class CodebaseIndexer {
7
9
  private projectPath;
8
10
  private indexPath;
11
+ private fullReindexRatioThreshold;
9
12
  constructor(projectPath: string);
10
13
  /**
11
14
  * Generates a codebase index by providing the entire file tree to an AI summarizer.
12
- * This is much more efficient than per-file indexing for large projects.
15
+ * Supports incremental updates - only analyzes changed files when possible.
16
+ * Returns null if no changes detected (unless force=true).
13
17
  */
14
- index(onProgress?: (message: string) => void, treeSummarizer?: (tree: string) => Promise<CodebaseIndex>): Promise<CodebaseIndex>;
18
+ index(onProgress?: (message: string) => void, treeSummarizer?: (tree: string) => Promise<CodebaseIndex>, force?: boolean): Promise<CodebaseIndex | null>;
19
+ private getFileTree;
15
20
  loadIndex(): CodebaseIndex | null;
16
21
  saveIndex(index: CodebaseIndex): void;
22
+ private cloneIndex;
23
+ private applyIndexMetadata;
24
+ private hashTree;
25
+ private hashFile;
26
+ private computeFileHashes;
27
+ private diffFiles;
28
+ private removeFilesFromIndex;
29
+ private mergeIndex;
17
30
  }
18
31
  //# sourceMappingURL=indexer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../../src/core/indexer.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;gBAEd,WAAW,EAAE,MAAM;IAK/B;;;OAGG;IACG,KAAK,CACT,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EACtC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,GACxD,OAAO,CAAC,aAAa,CAAC;IAsFzB,SAAS,IAAI,aAAa,GAAG,IAAI;IAWjC,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;CAOtC"}
1
+ {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../../src/core/indexer.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,yBAAyB,CAAe;gBAEpC,WAAW,EAAE,MAAM;IAK/B;;;;OAIG;IACG,KAAK,CACT,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EACtC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,EACzD,KAAK,UAAQ,GACZ,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;YAyGlB,WAAW;IAgEzB,SAAS,IAAI,aAAa,GAAG,IAAI;IAWjC,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAQrC,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,SAAS;IAkBjB,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,UAAU;CA8BnB"}