@spader/spall-cli 1.0.0

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 (123) hide show
  1. package/dist/index.d.ts +3 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/scripts/postinstall.js +38 -0
  4. package/dist/scripts/postinstall.js.map +10 -0
  5. package/dist/shared/display.d.ts +47 -0
  6. package/dist/shared/display.d.ts.map +1 -0
  7. package/dist/shared/help.d.ts +5 -0
  8. package/dist/shared/help.d.ts.map +1 -0
  9. package/dist/shared/index.d.ts +14 -0
  10. package/dist/shared/index.d.ts.map +1 -0
  11. package/dist/shared/layout.d.ts +16 -0
  12. package/dist/shared/layout.d.ts.map +1 -0
  13. package/dist/shared/list.d.ts +25 -0
  14. package/dist/shared/list.d.ts.map +1 -0
  15. package/dist/shared/progress.d.ts +4 -0
  16. package/dist/shared/progress.d.ts.map +1 -0
  17. package/dist/shared/search.d.ts +27 -0
  18. package/dist/shared/search.d.ts.map +1 -0
  19. package/dist/shared/status.d.ts +26 -0
  20. package/dist/shared/status.d.ts.map +1 -0
  21. package/dist/shared/theme.d.ts +20 -0
  22. package/dist/shared/theme.d.ts.map +1 -0
  23. package/dist/shared/tree.d.ts +37 -0
  24. package/dist/shared/tree.d.ts.map +1 -0
  25. package/dist/shared/vsearch.d.ts +28 -0
  26. package/dist/shared/vsearch.d.ts.map +1 -0
  27. package/dist/shared/workspace.d.ts +28 -0
  28. package/dist/shared/workspace.d.ts.map +1 -0
  29. package/dist/shared/yargs.d.ts +34 -0
  30. package/dist/shared/yargs.d.ts.map +1 -0
  31. package/dist/spall/commands/add.d.ts +20 -0
  32. package/dist/spall/commands/add.d.ts.map +1 -0
  33. package/dist/spall/commands/commit.d.ts +3 -0
  34. package/dist/spall/commands/commit.d.ts.map +1 -0
  35. package/dist/spall/commands/corpus/create.d.ts +3 -0
  36. package/dist/spall/commands/corpus/create.d.ts.map +1 -0
  37. package/dist/spall/commands/corpus/delete.d.ts +3 -0
  38. package/dist/spall/commands/corpus/delete.d.ts.map +1 -0
  39. package/dist/spall/commands/corpus/index.d.ts +3 -0
  40. package/dist/spall/commands/corpus/index.d.ts.map +1 -0
  41. package/dist/spall/commands/get.d.ts +3 -0
  42. package/dist/spall/commands/get.d.ts.map +1 -0
  43. package/dist/spall/commands/hook.d.ts +3 -0
  44. package/dist/spall/commands/hook.d.ts.map +1 -0
  45. package/dist/spall/commands/index.d.ts +15 -0
  46. package/dist/spall/commands/index.d.ts.map +1 -0
  47. package/dist/spall/commands/integrate/index.d.ts +8 -0
  48. package/dist/spall/commands/integrate/index.d.ts.map +1 -0
  49. package/dist/spall/commands/integrate/opencode.d.ts +3 -0
  50. package/dist/spall/commands/integrate/opencode.d.ts.map +1 -0
  51. package/dist/spall/commands/integrate/shell.d.ts +6 -0
  52. package/dist/spall/commands/integrate/shell.d.ts.map +1 -0
  53. package/dist/spall/commands/list.d.ts +3 -0
  54. package/dist/spall/commands/list.d.ts.map +1 -0
  55. package/dist/spall/commands/review/comments.d.ts +3 -0
  56. package/dist/spall/commands/review/comments.d.ts.map +1 -0
  57. package/dist/spall/commands/review/create.d.ts +3 -0
  58. package/dist/spall/commands/review/create.d.ts.map +1 -0
  59. package/dist/spall/commands/review/index.d.ts +3 -0
  60. package/dist/spall/commands/review/index.d.ts.map +1 -0
  61. package/dist/spall/commands/review/latest.d.ts +3 -0
  62. package/dist/spall/commands/review/latest.d.ts.map +1 -0
  63. package/dist/spall/commands/review/list.d.ts +3 -0
  64. package/dist/spall/commands/review/list.d.ts.map +1 -0
  65. package/dist/spall/commands/review/patches.d.ts +3 -0
  66. package/dist/spall/commands/review/patches.d.ts.map +1 -0
  67. package/dist/spall/commands/search.d.ts +3 -0
  68. package/dist/spall/commands/search.d.ts.map +1 -0
  69. package/dist/spall/commands/serve.d.ts +3 -0
  70. package/dist/spall/commands/serve.d.ts.map +1 -0
  71. package/dist/spall/commands/status.d.ts +3 -0
  72. package/dist/spall/commands/status.d.ts.map +1 -0
  73. package/dist/spall/commands/sync.d.ts +3 -0
  74. package/dist/spall/commands/sync.d.ts.map +1 -0
  75. package/dist/spall/commands/tui.d.ts +3 -0
  76. package/dist/spall/commands/tui.d.ts.map +1 -0
  77. package/dist/spall/commands/vsearch.d.ts +3 -0
  78. package/dist/spall/commands/vsearch.d.ts.map +1 -0
  79. package/dist/spall/commands/workspace/add.d.ts +3 -0
  80. package/dist/spall/commands/workspace/add.d.ts.map +1 -0
  81. package/dist/spall/commands/workspace/edit.d.ts +3 -0
  82. package/dist/spall/commands/workspace/edit.d.ts.map +1 -0
  83. package/dist/spall/commands/workspace/index.d.ts +3 -0
  84. package/dist/spall/commands/workspace/index.d.ts.map +1 -0
  85. package/dist/spall/commands/workspace/init.d.ts +3 -0
  86. package/dist/spall/commands/workspace/init.d.ts.map +1 -0
  87. package/dist/spall/commands/workspace/remove.d.ts +3 -0
  88. package/dist/spall/commands/workspace/remove.d.ts.map +1 -0
  89. package/dist/spall/e2e.preload.d.ts +2 -0
  90. package/dist/spall/e2e.preload.d.ts.map +1 -0
  91. package/dist/spall/index.d.ts +3 -0
  92. package/dist/spall/index.d.ts.map +1 -0
  93. package/dist/spallm/commands/add.d.ts +3 -0
  94. package/dist/spallm/commands/add.d.ts.map +1 -0
  95. package/dist/spallm/commands/fetch.d.ts +3 -0
  96. package/dist/spallm/commands/fetch.d.ts.map +1 -0
  97. package/dist/spallm/commands/get.d.ts +3 -0
  98. package/dist/spallm/commands/get.d.ts.map +1 -0
  99. package/dist/spallm/commands/list.d.ts +3 -0
  100. package/dist/spallm/commands/list.d.ts.map +1 -0
  101. package/dist/spallm/commands/prime.d.ts +3 -0
  102. package/dist/spallm/commands/prime.d.ts.map +1 -0
  103. package/dist/spallm/commands/query.d.ts +3 -0
  104. package/dist/spallm/commands/query.d.ts.map +1 -0
  105. package/dist/spallm/commands/review.d.ts +3 -0
  106. package/dist/spallm/commands/review.d.ts.map +1 -0
  107. package/dist/spallm/commands/search.d.ts +3 -0
  108. package/dist/spallm/commands/search.d.ts.map +1 -0
  109. package/dist/spallm/commands/status.d.ts +3 -0
  110. package/dist/spallm/commands/status.d.ts.map +1 -0
  111. package/dist/spallm/commands/vsearch.d.ts +3 -0
  112. package/dist/spallm/commands/vsearch.d.ts.map +1 -0
  113. package/dist/spallm/index.d.ts +3 -0
  114. package/dist/spallm/index.d.ts.map +1 -0
  115. package/dist/src/index.js +1648 -0
  116. package/dist/src/index.js.map +32 -0
  117. package/dist/src/shared/index.js +1164 -0
  118. package/dist/src/shared/index.js.map +21 -0
  119. package/dist/src/spall/index.js +1648 -0
  120. package/dist/src/spall/index.js.map +32 -0
  121. package/dist/src/spallm/index.js +294 -0
  122. package/dist/src/spallm/index.js.map +17 -0
  123. package/package.json +72 -0
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env bun
2
+ import "./spall";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,SAAS,CAAC"}
@@ -0,0 +1,38 @@
1
+ #!/usr/bin/env bun
2
+ // @bun
3
+
4
+ // scripts/postinstall.ts
5
+ import { mkdirSync, writeFileSync, existsSync, copyFileSync } from "fs";
6
+ import { homedir, platform } from "os";
7
+ import { join, dirname } from "path";
8
+ import { fileURLToPath } from "url";
9
+ var __dirname2 = dirname(fileURLToPath(import.meta.url));
10
+ function getConfigDir() {
11
+ const os = platform();
12
+ if (os === "win32") {
13
+ const appData = process.env.APPDATA || join(homedir(), "AppData", "Roaming");
14
+ return join(appData, "spall");
15
+ } else {
16
+ const configHome = process.env.XDG_CONFIG_HOME || join(homedir(), ".config");
17
+ return join(configHome, "spall");
18
+ }
19
+ }
20
+ var CONFIG_DIR = getConfigDir();
21
+ var CONFIG_FILE = join(CONFIG_DIR, "spall.json");
22
+ var SCHEMA_FILE = join(CONFIG_DIR, "schema.json");
23
+ if (!existsSync(CONFIG_DIR)) {
24
+ mkdirSync(CONFIG_DIR, { recursive: true });
25
+ }
26
+ var PACKAGE_SCHEMA_PATH = join(__dirname2, "..", "..", "core", "src", "gen", "config.json");
27
+ if (existsSync(PACKAGE_SCHEMA_PATH)) {
28
+ copyFileSync(PACKAGE_SCHEMA_PATH, SCHEMA_FILE);
29
+ }
30
+ if (!existsSync(CONFIG_FILE)) {
31
+ const defaultConfig = {
32
+ $schema: SCHEMA_FILE
33
+ };
34
+ writeFileSync(CONFIG_FILE, JSON.stringify(defaultConfig, null, 2));
35
+ console.log(`Created default config at ${CONFIG_FILE}`);
36
+ }
37
+
38
+ //# debugId=F4AB83567705308D64756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../scripts/postinstall.ts"],
4
+ "sourcesContent": [
5
+ "#!/usr/bin/env bun\nimport { mkdirSync, writeFileSync, existsSync, copyFileSync } from \"fs\";\nimport { homedir, platform } from \"os\";\nimport { join, dirname } from \"path\";\nimport { fileURLToPath } from \"url\";\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\n\nfunction getConfigDir(): string {\n const os = platform();\n\n if (os === \"win32\") {\n const appData =\n process.env.APPDATA || join(homedir(), \"AppData\", \"Roaming\");\n return join(appData, \"spall\");\n } else {\n const configHome =\n process.env.XDG_CONFIG_HOME || join(homedir(), \".config\");\n return join(configHome, \"spall\");\n }\n}\n\nconst CONFIG_DIR = getConfigDir();\nconst CONFIG_FILE = join(CONFIG_DIR, \"spall.json\");\nconst SCHEMA_FILE = join(CONFIG_DIR, \"schema.json\");\n\n// Ensure config directory exists\nif (!existsSync(CONFIG_DIR)) {\n mkdirSync(CONFIG_DIR, { recursive: true });\n}\n\n// Copy schema from package to config directory\nconst PACKAGE_SCHEMA_PATH = join(\n __dirname,\n \"..\",\n \"..\",\n \"core\",\n \"src\",\n \"gen\",\n \"config.json\",\n);\nif (existsSync(PACKAGE_SCHEMA_PATH)) {\n copyFileSync(PACKAGE_SCHEMA_PATH, SCHEMA_FILE);\n}\n\nif (!existsSync(CONFIG_FILE)) {\n const defaultConfig = {\n $schema: SCHEMA_FILE,\n };\n writeFileSync(CONFIG_FILE, JSON.stringify(defaultConfig, null, 2));\n console.log(`Created default config at ${CONFIG_FILE}`);\n}\n"
6
+ ],
7
+ "mappings": ";;;;AACA;AACA;AACA;AACA;AAEA,IAAM,aAAY,QAAQ,cAAc,YAAY,GAAG,CAAC;AAExD,SAAS,YAAY,GAAW;AAAA,EAC9B,MAAM,KAAK,SAAS;AAAA,EAEpB,IAAI,OAAO,SAAS;AAAA,IAClB,MAAM,UACJ,QAAQ,IAAI,WAAW,KAAK,QAAQ,GAAG,WAAW,SAAS;AAAA,IAC7D,OAAO,KAAK,SAAS,OAAO;AAAA,EAC9B,EAAO;AAAA,IACL,MAAM,aACJ,QAAQ,IAAI,mBAAmB,KAAK,QAAQ,GAAG,SAAS;AAAA,IAC1D,OAAO,KAAK,YAAY,OAAO;AAAA;AAAA;AAInC,IAAM,aAAa,aAAa;AAChC,IAAM,cAAc,KAAK,YAAY,YAAY;AACjD,IAAM,cAAc,KAAK,YAAY,aAAa;AAGlD,IAAI,CAAC,WAAW,UAAU,GAAG;AAAA,EAC3B,UAAU,YAAY,EAAE,WAAW,KAAK,CAAC;AAC3C;AAGA,IAAM,sBAAsB,KAC1B,YACA,MACA,MACA,QACA,OACA,OACA,aACF;AACA,IAAI,WAAW,mBAAmB,GAAG;AAAA,EACnC,aAAa,qBAAqB,WAAW;AAC/C;AAEA,IAAI,CAAC,WAAW,WAAW,GAAG;AAAA,EAC5B,MAAM,gBAAgB;AAAA,IACpB,SAAS;AAAA,EACX;AAAA,EACA,cAAc,aAAa,KAAK,UAAU,eAAe,MAAM,CAAC,CAAC;AAAA,EACjE,QAAQ,IAAI,6BAA6B,aAAa;AACxD;",
8
+ "debugId": "F4AB83567705308D64756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,47 @@
1
+ import { cleanEscapes } from "./layout";
2
+ export { cleanEscapes };
3
+ export declare function formatPath(s: string): string;
4
+ export declare function highlightSnippet(s: string): string;
5
+ export type ColumnDef<T> = {
6
+ header: string;
7
+ value: (item: T) => string;
8
+ flex?: number;
9
+ noTruncate?: boolean;
10
+ min?: number;
11
+ truncate?: "start" | "middle" | "end";
12
+ format?: (s: string, row: number, col: number) => string;
13
+ };
14
+ export type DisplayOpts<T> = {
15
+ output: string;
16
+ showAll?: boolean;
17
+ empty?: string;
18
+ path: (item: T) => string;
19
+ id: (item: T) => string;
20
+ preview: (item: T) => string;
21
+ previewFormat?: (s: string) => string;
22
+ extraColumns?: ColumnDef<T>[];
23
+ };
24
+ export declare function displayResults<T>(items: T[], opts: DisplayOpts<T>): void;
25
+ export declare function printQueryId(queryId: number): void;
26
+ export type LlmSearchOpts<T> = {
27
+ empty?: string;
28
+ path: (item: T) => string;
29
+ id: (item: T) => string;
30
+ score: (item: T) => number;
31
+ preview: (item: T) => string;
32
+ queryId: number;
33
+ };
34
+ export declare function displayLlmSearch<T>(items: T[], opts: LlmSearchOpts<T>): void;
35
+ export type LlmFetchOpts<T> = {
36
+ empty?: string;
37
+ path: (item: T) => string;
38
+ id: (item: T) => string;
39
+ content: (item: T) => string;
40
+ };
41
+ export declare function displayLlmFetch<T>(items: T[], opts: LlmFetchOpts<T>): void;
42
+ export type PathTreeOpts = {
43
+ showAll?: boolean;
44
+ empty?: string;
45
+ };
46
+ export declare function displayPathTree(paths: string[], opts?: PathTreeOpts): void;
47
+ //# sourceMappingURL=display.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/shared/display.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type Theme } from "./theme";
2
+ import { type CliDef } from "./yargs";
3
+ export declare function setActiveCli(def: CliDef): void;
4
+ export declare function printHelp(t?: Theme): void;
5
+ //# sourceMappingURL=help.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/shared/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAI5C,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED,wBAAgB,SAAS,CAAC,CAAC,GAAE,KAAoB,GAAG,IAAI,CAOvD"}
@@ -0,0 +1,14 @@
1
+ export { table, cols, CLEAR, cleanEscapes } from "./layout";
2
+ export { type Theme, defaultTheme } from "./theme";
3
+ export { setColorEnabled } from "./theme";
4
+ export { displayResults, displayPathTree, displayLlmSearch, displayLlmFetch, printQueryId, highlightSnippet, type ColumnDef, type DisplayOpts, type PathTreeOpts, type LlmSearchOpts, type LlmFetchOpts, } from "./display";
5
+ export { build, help, type CommandDef, type CliDef, type OptionDef, type Options, type PositionalDef, type Positionals, } from "./yargs";
6
+ export { setActiveCli, printHelp } from "./help";
7
+ export { renderProgressBar, createModelProgressHandler, formatStreamError, } from "./progress";
8
+ export { resolveScope, gitRoot, createQuery, type ResolvedScope as ResolvedProjectScope, } from "./workspace";
9
+ export { noteTreeEntries, noteDirEntries, type NotePathId, type NoteTreeEntry, } from "./tree";
10
+ export { Vsearch } from "./vsearch";
11
+ export { Search } from "./search";
12
+ export { List } from "./list";
13
+ export { Status } from "./status";
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,KAAK,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EACL,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,KAAK,EACL,IAAI,EACJ,KAAK,UAAU,EACf,KAAK,MAAM,EACX,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,WAAW,GACjB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,YAAY,EACZ,OAAO,EACP,WAAW,EACX,KAAK,aAAa,IAAI,oBAAoB,GAC3C,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,eAAe,EACf,cAAc,EACd,KAAK,UAAU,EACf,KAAK,aAAa,GACnB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,16 @@
1
+ export declare const CLEAR = "\u001B[K";
2
+ export declare function truncateMiddle(s: string, max: number): string;
3
+ export declare function cleanEscapes(s: string): string;
4
+ export declare function displayLen(s: string): number;
5
+ export type TableOptions = {
6
+ maxWidth?: number;
7
+ flex?: number[];
8
+ noTruncate?: boolean[];
9
+ min?: number[];
10
+ truncate?: ("start" | "middle" | "end")[];
11
+ format?: ((s: string, row: number, col: number) => string)[];
12
+ maxRows?: number;
13
+ };
14
+ export declare function table(headers: string[], columns: string[][], opts?: TableOptions): void;
15
+ export declare function cols(rows: string[][], colorFns?: ((s: string) => string)[]): void;
16
+ //# sourceMappingURL=layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/shared/layout.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,aAAW,CAAC;AAQ9B,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAM7D;AAiBD,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE9C;AAOD,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC;IAC1C,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,wBAAgB,KAAK,CACnB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EAAE,EAAE,EACnB,IAAI,CAAC,EAAE,YAAY,GAClB,IAAI,CA8LN;AAED,wBAAgB,IAAI,CAClB,IAAI,EAAE,MAAM,EAAE,EAAE,EAChB,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,EAAE,GACnC,IAAI,CAYN"}
@@ -0,0 +1,25 @@
1
+ import type { Options, Positionals } from "./yargs";
2
+ export declare namespace List {
3
+ const positionals: Positionals;
4
+ const options: Options;
5
+ function normalizePath(rawInput: unknown, completion: boolean): string;
6
+ /** Parse the --depth flag into a maxDepth number or undefined (unlimited). */
7
+ function parseDepth(raw: unknown): number | undefined;
8
+ function run(argv: {
9
+ path?: string;
10
+ corpus?: string;
11
+ tracked: boolean;
12
+ completion?: boolean;
13
+ }): Promise<{
14
+ client: import("@spader/spall-sdk").SpallClient;
15
+ query: any;
16
+ notes: {
17
+ id: number;
18
+ path: string;
19
+ }[];
20
+ path: string;
21
+ located: import("@spader/spall-core").WorkspaceConfig.Located | null;
22
+ includeNames: string[];
23
+ }>;
24
+ }
25
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/shared/list.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEpD,yBAAiB,IAAI,CAAC;IACb,MAAM,WAAW,EAAE,WAMzB,CAAC;IAEK,MAAM,OAAO,EAAE,OAiBrB,CAAC;IAEF,SAAgB,aAAa,CAC3B,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,OAAO,GAClB,MAAM,CAcR;IAED,8EAA8E;IAC9E,SAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAO3D;IAED,SAAsB,GAAG,CAAC,IAAI,EAAE;QAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB;;;;gBAeuB,MAAM;kBAAQ,MAAM;;;;;OAkB3C;CACF"}
@@ -0,0 +1,4 @@
1
+ export declare function renderProgressBar(percent: number): string;
2
+ export declare function createModelProgressHandler(): (event: any) => void;
3
+ export declare function formatStreamError(e: unknown, path: string): string;
4
+ //# sourceMappingURL=progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/shared/progress.ts"],"names":[],"mappings":"AAOA,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIzD;AAED,wBAAgB,0BAA0B,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CA2BjE;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAqBlE"}
@@ -0,0 +1,27 @@
1
+ import type { Positionals, Options } from "./yargs";
2
+ export declare namespace Search {
3
+ const summary: string;
4
+ function description(cliName: string): string;
5
+ const positionals: Positionals;
6
+ const options: Options;
7
+ function run(argv: {
8
+ query: string;
9
+ corpus?: string;
10
+ path?: string;
11
+ limit?: number;
12
+ tracked: boolean;
13
+ mode?: "plain" | "fts";
14
+ }): Promise<{
15
+ client: import("@spader/spall-sdk").SpallClient;
16
+ query: any;
17
+ results: {
18
+ id: number;
19
+ corpus: number;
20
+ path: string;
21
+ size: number;
22
+ snippet: string;
23
+ score: number;
24
+ }[];
25
+ }>;
26
+ }
27
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/shared/search.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEpD,yBAAiB,MAAM,CAAC;IACf,MAAM,OAAO,QAAoC,CAAC;IAEzD,SAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQnD;IAEM,MAAM,WAAW,EAAE,WAMzB,CAAC;IAEK,MAAM,OAAO,EAAE,OAerB,CAAC;IAEF,SAAsB,GAAG,CAAC,IAAI,EAAE;QAC9B,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;KACxB;;;;;;;;;;;OAoBA;CACF"}
@@ -0,0 +1,26 @@
1
+ export declare namespace Status {
2
+ const summary = "List available corpora and workspace status";
3
+ const description = "List available corpora, and which will be included by default in searches (i.e. included in workspace)";
4
+ type Corpus = {
5
+ id: number | string;
6
+ name: string;
7
+ noteCount: number;
8
+ createdAt: number;
9
+ updatedAt: number;
10
+ };
11
+ type SuccessResult = {
12
+ url: string;
13
+ corpora: Corpus[];
14
+ included: Set<string>;
15
+ };
16
+ type RunResult = SuccessResult | {
17
+ error: unknown;
18
+ };
19
+ type PrintOptions = {
20
+ highlightWorkspace?: boolean;
21
+ };
22
+ const formatTime: (ts: number) => string;
23
+ function run(): Promise<RunResult>;
24
+ function print(result: SuccessResult, opts?: PrintOptions): void;
25
+ }
26
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/shared/status.ts"],"names":[],"mappings":"AAKA,yBAAiB,MAAM,CAAC;IACf,MAAM,OAAO,gDAAgD,CAAC;IAC9D,MAAM,WAAW,2GAA2G,CAAC;IAEpI,KAAY,MAAM,GAAG;QACnB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF,KAAY,aAAa,GAAG;QAC1B,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;KACvB,CAAC;IAEF,KAAY,SAAS,GAAG,aAAa,GAAG;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IAE3D,KAAY,YAAY,GAAG;QACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B,CAAC;IAEK,MAAM,UAAU,GAAI,IAAI,MAAM,WACsB,CAAC;IAE5D,SAAsB,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAc9C;IAED,SAAgB,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI,CAuCtE;CACF"}
@@ -0,0 +1,20 @@
1
+ export type Theme = {
2
+ primary: (s: string) => string;
3
+ code: (s: string) => string;
4
+ path: (s: string) => string;
5
+ guide: (s: string) => string;
6
+ header: (s: string) => string;
7
+ command: (s: string) => string;
8
+ arg: (s: string) => string;
9
+ option: (s: string) => string;
10
+ type: (s: string) => string;
11
+ description: (s: string) => string;
12
+ dim: (s: string) => string;
13
+ search: (s?: {
14
+ suffix?: string;
15
+ prefix?: string;
16
+ }) => string;
17
+ };
18
+ export declare function setColorEnabled(enabled: boolean): void;
19
+ export declare const defaultTheme: Theme;
20
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/shared/theme.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG;IAClB,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5B,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5B,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7B,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/B,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5B,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACnC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;CAC9D,CAAC;AAIF,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEtD;AA6BD,eAAO,MAAM,YAAY,EAAE,KAa1B,CAAC"}
@@ -0,0 +1,37 @@
1
+ export type NotePathId = {
2
+ path: string;
3
+ id: number;
4
+ };
5
+ export type NoteTreeEntry = {
6
+ type: "dir";
7
+ depth: number;
8
+ name: string;
9
+ noteCount?: number;
10
+ } | {
11
+ type: "file";
12
+ depth: number;
13
+ name: string;
14
+ id: number;
15
+ };
16
+ /**
17
+ * Build a simple directory-first tree listing from flat note paths.
18
+ * Output is unstyled; callers decide indentation and coloring.
19
+ *
20
+ * @param maxDepth - Maximum depth to display. `undefined` means unlimited.
21
+ * Depth 0 = top-level dirs only (files at root are still shown).
22
+ * Files and directories deeper than `maxDepth` are omitted; directories
23
+ * exactly at `maxDepth` are treated as leaves and get a `noteCount`.
24
+ */
25
+ export declare function noteTreeEntries(notes: NotePathId[], maxDepth?: number): NoteTreeEntry[];
26
+ /**
27
+ * Build directory-only entries. Directories are printed, and leaf directories
28
+ * (those with no visible subdirectories) get a `noteCount`.
29
+ *
30
+ * @param maxDepth - Maximum depth to display. `undefined` means unlimited.
31
+ * Directories deeper than `maxDepth` are omitted; directories at `maxDepth`
32
+ * become leaves and show the total number of notes underneath them.
33
+ */
34
+ export declare function noteDirEntries(notes: NotePathId[], maxDepth?: number): Extract<NoteTreeEntry, {
35
+ type: "dir";
36
+ }>[];
37
+ //# sourceMappingURL=tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/shared/tree.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtD,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,UAAU,EAAE,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,aAAa,EAAE,CA0CjB;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,UAAU,EAAE,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,EAAE;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC,EAAE,CA4E3C"}
@@ -0,0 +1,28 @@
1
+ import type { Positionals, Options } from "./yargs";
2
+ export declare namespace Vsearch {
3
+ const summary: string;
4
+ function description(cliName: string): string;
5
+ const positionals: Positionals;
6
+ const options: Options;
7
+ function collapseWhitespace(s: string): string;
8
+ function run(argv: {
9
+ query: string;
10
+ corpus?: string;
11
+ path?: string;
12
+ limit?: number;
13
+ tracked: boolean;
14
+ }): Promise<{
15
+ client: import("@spader/spall-sdk").SpallClient;
16
+ query: any;
17
+ results: {
18
+ id: number;
19
+ corpus: number;
20
+ path: string;
21
+ size: number;
22
+ chunk: string;
23
+ chunkPos: number;
24
+ score: number;
25
+ }[];
26
+ }>;
27
+ }
28
+ //# sourceMappingURL=vsearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vsearch.d.ts","sourceRoot":"","sources":["../../src/shared/vsearch.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEpD,yBAAiB,OAAO,CAAC;IAChB,MAAM,OAAO,QAAsC,CAAC;IAE3D,SAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQnD;IAEM,MAAM,WAAW,EAAE,WAMzB,CAAC;IAEK,MAAM,OAAO,EAAE,OAgBrB,CAAC;IAEF,SAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEpD;IAED,SAAsB,GAAG,CAAC,IAAI,EAAE;QAC9B,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,OAAO,CAAC;KAClB;;;;;;;;;;;;OAmBA;CACF"}
@@ -0,0 +1,28 @@
1
+ import { WorkspaceConfig, type WorkspaceConfigSchema } from "@spader/spall-core";
2
+ import { type SpallClient } from "@spader/spall-sdk/client";
3
+ export type ResolvedScope = {
4
+ config: WorkspaceConfigSchema;
5
+ located: WorkspaceConfig.Located | null;
6
+ viewer: {
7
+ id: number;
8
+ name: string;
9
+ };
10
+ names: string[];
11
+ ids: number[];
12
+ };
13
+ export declare function gitRoot(start: string): Promise<string | null>;
14
+ export declare function resolveScope(input: {
15
+ client: SpallClient;
16
+ cwd?: string;
17
+ corpus?: string;
18
+ tracked?: boolean;
19
+ }): Promise<ResolvedScope>;
20
+ export declare function createQuery(input: {
21
+ client: SpallClient;
22
+ cwd?: string;
23
+ corpus?: string;
24
+ tracked?: boolean;
25
+ }): Promise<ResolvedScope & {
26
+ query: any;
27
+ }>;
28
+ //# sourceMappingURL=workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/shared/workspace.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAIpE,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,qBAAqB,CAAC;IAC9B,OAAO,EAAE,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;IACxC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,EAAE,MAAM,EAAE,CAAC;CACf,CAAC;AAOF,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAenE;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE;IACxC,MAAM,EAAE,WAAW,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,OAAO,CAAC,aAAa,CAAC,CAwCzB;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE;IACvC,MAAM,EAAE,WAAW,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,OAAO,CAAC,aAAa,GAAG;IAAE,KAAK,EAAE,GAAG,CAAA;CAAE,CAAC,CAiB1C"}
@@ -0,0 +1,34 @@
1
+ import { type Theme } from "./theme";
2
+ export type OptionDef = {
3
+ alias?: string;
4
+ type: "string" | "number" | "boolean" | "array";
5
+ description: string;
6
+ required?: boolean;
7
+ default?: unknown;
8
+ };
9
+ export type Options = Record<string, OptionDef>;
10
+ export type PositionalDef = {
11
+ type: "string" | "number";
12
+ description: string;
13
+ required?: boolean;
14
+ default?: unknown;
15
+ };
16
+ export type Positionals = Record<string, PositionalDef>;
17
+ export type CommandDef = {
18
+ description: string;
19
+ summary?: string;
20
+ hidden?: boolean;
21
+ positionals?: Positionals;
22
+ options?: Options;
23
+ commands?: Record<string, CommandDef>;
24
+ handler?: (argv: any) => void | Promise<void>;
25
+ };
26
+ export type CliDef = {
27
+ name: string;
28
+ description: string;
29
+ options?: Options;
30
+ commands: Record<string, CommandDef>;
31
+ };
32
+ export declare function help(def: CommandDef | CliDef, name: string, path?: string[], t?: Theme): void;
33
+ export declare function build(def: CliDef): any;
34
+ //# sourceMappingURL=yargs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yargs.d.ts","sourceRoot":"","sources":["../../src/shared/yargs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAgB,MAAM,SAAS,CAAC;AAEnD,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEhD,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAExD,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACtC,CAAC;AAgCF,wBAAgB,IAAI,CAClB,GAAG,EAAE,UAAU,GAAG,MAAM,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,MAAM,EAAO,EACnB,CAAC,GAAE,KAAoB,GACtB,IAAI,CAoEN;AAkGD,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAKtC"}
@@ -0,0 +1,20 @@
1
+ import { Client } from "@spader/spall-sdk/client";
2
+ import { type CommandDef } from "@spader/spall-cli/shared";
3
+ type SubmitInput = {
4
+ client: Awaited<ReturnType<typeof Client.connect>>;
5
+ corpusName: string;
6
+ path: string;
7
+ content: string;
8
+ update?: boolean;
9
+ };
10
+ export declare function submitNote(input: SubmitInput): Promise<{
11
+ action: "added" | "updated";
12
+ info: {
13
+ path: string;
14
+ id: number;
15
+ corpus: number;
16
+ };
17
+ }>;
18
+ export declare const add: CommandDef;
19
+ export {};
20
+ //# sourceMappingURL=add.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../src/spall/commands/add.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EACL,KAAK,UAAU,EAIhB,MAAM,0BAA0B,CAAC;AAuDlC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,wBAAsB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC;IAC5D,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACpD,CAAC,CAwED;AAED,eAAO,MAAM,GAAG,EAAE,UAiPjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type CommandDef } from "@spader/spall-cli/shared";
2
+ export declare const commit: CommandDef;
3
+ //# sourceMappingURL=commit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../../src/spall/commands/commit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAyB,MAAM,0BAA0B,CAAC;AAElF,eAAO,MAAM,MAAM,EAAE,UAiBpB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CommandDef } from "@spader/spall-cli/shared";
2
+ export declare const create: CommandDef;
3
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/spall/commands/corpus/create.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,eAAO,MAAM,MAAM,EAAE,UAoBpB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CommandDef } from "@spader/spall-cli/shared";
2
+ export declare const remove: CommandDef;
3
+ //# sourceMappingURL=delete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/spall/commands/corpus/delete.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,eAAO,MAAM,MAAM,EAAE,UAyBpB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CommandDef } from "@spader/spall-cli/shared";
2
+ export declare const corpus: CommandDef;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/spall/commands/corpus/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAI3D,eAAO,MAAM,MAAM,EAAE,UAGpB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type CommandDef } from "@spader/spall-cli/shared";
2
+ export declare const get: CommandDef;
3
+ //# sourceMappingURL=get.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/spall/commands/get.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,UAAU,EAIhB,MAAM,0BAA0B,CAAC;AAElC,eAAO,MAAM,GAAG,EAAE,UA2FjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CommandDef } from "@spader/spall-cli/shared";
2
+ export declare const hook: CommandDef;
3
+ //# sourceMappingURL=hook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/spall/commands/hook.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,eAAO,MAAM,IAAI,EAAE,UAsBlB,CAAC"}
@@ -0,0 +1,15 @@
1
+ export { corpus } from "./corpus";
2
+ export { workspace } from "./workspace";
3
+ export { add } from "./add";
4
+ export { commit } from "./commit";
5
+ export { hook } from "./hook";
6
+ export { integrate } from "./integrate";
7
+ export { serve } from "./serve";
8
+ export { get } from "./get";
9
+ export { list } from "./list";
10
+ export { search } from "./search";
11
+ export { sync } from "./sync";
12
+ export { tui } from "./tui";
13
+ export { vsearch } from "./vsearch";
14
+ export { status } from "./status";
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/spall/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { CommandDef } from "@spader/spall-cli/shared";
2
+ export type Integration = {
3
+ label: string;
4
+ hint?: string;
5
+ handler: () => Promise<void>;
6
+ };
7
+ export declare const integrate: CommandDef;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/spall/commands/integrate/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAK3D,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAQF,eAAO,MAAM,SAAS,EAAE,UAqBvB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Integration } from "./index";
2
+ export declare const opencode: Integration;
3
+ //# sourceMappingURL=opencode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../../src/spall/commands/integrate/opencode.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA6B3C,eAAO,MAAM,QAAQ,EAAE,WAqItB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { type Shell } from "@spader/spall-integration";
2
+ import { type Integration } from "./index";
3
+ export declare const bash: Integration;
4
+ export declare const zsh: Integration;
5
+ export declare function shellIntegration(shell: Shell): Promise<void>;
6
+ //# sourceMappingURL=shell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../../src/spall/commands/integrate/shell.ts"],"names":[],"mappings":"AAMA,OAAO,EAAY,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAGjE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAM3C,eAAO,MAAM,IAAI,EAAE,WAIlB,CAAC;AAEF,eAAO,MAAM,GAAG,EAAE,WAIjB,CAAC;AAgBF,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAuClE"}
@@ -0,0 +1,3 @@
1
+ import { type CommandDef } from "@spader/spall-cli/shared";
2
+ export declare const list: CommandDef;
3
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/spall/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EAKhB,MAAM,0BAA0B,CAAC;AAElC,eAAO,MAAM,IAAI,EAAE,UAmElB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type CommandDef } from "@spader/spall-cli/shared";
2
+ export declare const comments: CommandDef;
3
+ //# sourceMappingURL=comments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../../../src/spall/commands/review/comments.ts"],"names":[],"mappings":"AAGA,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,QAAQ,EAAE,UA2GtB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type CommandDef } from "@spader/spall-cli/shared";
2
+ export declare const create: CommandDef;
3
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/spall/commands/review/create.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,MAAM,EAAE,UAiDpB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CommandDef } from "@spader/spall-cli/shared";
2
+ export declare const review: CommandDef;
3
+ //# sourceMappingURL=index.d.ts.map