@pasosdejesus/m 0.21.0 → 0.22.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 (44) hide show
  1. package/dist/m.js +37 -5
  2. package/dist/m.js.map +1 -1
  3. package/dist/tasks/context-git.d.ts +27 -0
  4. package/dist/tasks/context-git.d.ts.map +1 -0
  5. package/dist/tasks/context-git.js +96 -0
  6. package/dist/tasks/context-git.js.map +1 -0
  7. package/dist/tasks/context-ignore.d.ts +18 -0
  8. package/dist/tasks/context-ignore.d.ts.map +1 -0
  9. package/dist/tasks/context-ignore.js +63 -0
  10. package/dist/tasks/context-ignore.js.map +1 -0
  11. package/dist/tasks/context-profiles.d.ts +42 -0
  12. package/dist/tasks/context-profiles.d.ts.map +1 -0
  13. package/dist/tasks/context-profiles.js +295 -0
  14. package/dist/tasks/context-profiles.js.map +1 -0
  15. package/dist/tasks/context-render.d.ts +37 -0
  16. package/dist/tasks/context-render.d.ts.map +1 -0
  17. package/dist/tasks/context-render.js +162 -0
  18. package/dist/tasks/context-render.js.map +1 -0
  19. package/dist/tasks/context-reqs.d.ts +20 -0
  20. package/dist/tasks/context-reqs.d.ts.map +1 -0
  21. package/dist/tasks/context-reqs.js +74 -0
  22. package/dist/tasks/context-reqs.js.map +1 -0
  23. package/dist/tasks/context-workspaces.d.ts +22 -0
  24. package/dist/tasks/context-workspaces.d.ts.map +1 -0
  25. package/dist/tasks/context-workspaces.js +116 -0
  26. package/dist/tasks/context-workspaces.js.map +1 -0
  27. package/dist/tasks/context.d.ts +39 -3
  28. package/dist/tasks/context.d.ts.map +1 -1
  29. package/dist/tasks/context.js +254 -262
  30. package/dist/tasks/context.js.map +1 -1
  31. package/dist/util/cli-parser.d.ts +3 -3
  32. package/dist/util/cli-parser.d.ts.map +1 -1
  33. package/dist/util/cli-parser.js +8 -1
  34. package/dist/util/cli-parser.js.map +1 -1
  35. package/dist/util/fs-walk.d.ts +11 -0
  36. package/dist/util/fs-walk.d.ts.map +1 -0
  37. package/dist/util/fs-walk.js +39 -0
  38. package/dist/util/fs-walk.js.map +1 -0
  39. package/dist/util/glob-match.d.ts +8 -0
  40. package/dist/util/glob-match.d.ts.map +1 -0
  41. package/dist/util/glob-match.js +79 -0
  42. package/dist/util/glob-match.js.map +1 -0
  43. package/package.json +2 -2
  44. package/src/tasks/README.md +7 -1
@@ -0,0 +1,22 @@
1
+ import { type WalkOptions } from '../util/fs-walk.js';
2
+ export type ProjectType = 'nextjs' | 'hardhat' | 'rails' | 'monorepo' | 'node' | 'unknown';
3
+ export interface Workspace {
4
+ root: string;
5
+ type: ProjectType;
6
+ }
7
+ export declare const PROJECT_TYPE_ORDER: ProjectType[];
8
+ export interface DetectOptions extends WalkOptions {
9
+ maxDepth?: number;
10
+ respectGitignore?: boolean;
11
+ }
12
+ export declare function detectWorkspaces(repoRoot: string, options?: DetectOptions): Promise<Workspace[]>;
13
+ export declare function formatWorkspaces(workspaces: Workspace[]): string;
14
+ export declare function formatTypes(workspaces: Workspace[]): string;
15
+ export declare function selectWorkspaces(workspaces: Workspace[], options: {
16
+ type?: string;
17
+ root?: string;
18
+ }): {
19
+ selected: Workspace[];
20
+ error?: string;
21
+ };
22
+ //# sourceMappingURL=context-workspaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-workspaces.d.ts","sourceRoot":"","sources":["../../src/tasks/context-workspaces.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiC,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAOrF,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AAE3F,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,eAAO,MAAM,kBAAkB,EAAE,WAAW,EAAuD,CAAC;AAEpG,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAUD,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CA+D1G;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,CAEhE;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,CAM3D;AAED,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,SAAS,EAAE,EACvB,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAmB3C"}
@@ -0,0 +1,116 @@
1
+ import { existsSync, readFileSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import { walkEntries, WALK_IGNORE_DIRS } from '../util/fs-walk.js';
4
+ import { hasGlobChars } from '../util/glob-match.js';
5
+ import { DEFAULT_EXCLUDES } from './context-ignore.js';
6
+ import { gitIgnoredPaths, isUnderIgnored } from './context-git.js';
7
+ const DEFAULT_DIR_EXCLUDES = DEFAULT_EXCLUDES.filter((entry) => !hasGlobChars(entry));
8
+ export const PROJECT_TYPE_ORDER = ['nextjs', 'hardhat', 'rails', 'monorepo', 'node'];
9
+ function readJson(filePath) {
10
+ try {
11
+ return JSON.parse(readFileSync(filePath, 'utf-8'));
12
+ }
13
+ catch {
14
+ return null;
15
+ }
16
+ }
17
+ export async function detectWorkspaces(repoRoot, options = {}) {
18
+ const maxDepth = options.maxDepth ?? 3;
19
+ const walked = await walkEntries(repoRoot, {
20
+ maxDepth: maxDepth + 1,
21
+ ignoreDirs: options.ignoreDirs ?? [...WALK_IGNORE_DIRS, ...DEFAULT_DIR_EXCLUDES],
22
+ });
23
+ const ignored = options.respectGitignore === false
24
+ ? new Set()
25
+ : gitIgnoredPaths(repoRoot, [...walked.dirs, ...walked.files]);
26
+ const files = walked.files.filter((entry) => !isUnderIgnored(entry, ignored));
27
+ const dirs = walked.dirs.filter((entry) => !isUnderIgnored(entry, ignored));
28
+ const fileSet = new Set(files);
29
+ const dirSet = new Set(dirs);
30
+ const found = [];
31
+ const seen = new Set();
32
+ const candidates = ['', ...dirs].sort();
33
+ const joinPath = (dir, name) => (dir ? `${dir}/${name}` : name);
34
+ const hasFile = (dir, name) => fileSet.has(joinPath(dir, name));
35
+ const hasAnyFile = (dir, names) => names.some((name) => hasFile(dir, name));
36
+ const hasDir = (dir, name) => dirSet.has(joinPath(dir, name));
37
+ const hasSolContracts = (dir) => {
38
+ const prefix = `${joinPath(dir, 'contracts')}/`;
39
+ return files.some((file) => file.startsWith(prefix) && file.endsWith('.sol'));
40
+ };
41
+ const isMonorepoRoot = (dir) => {
42
+ if (hasFile(dir, 'pnpm-workspace.yaml'))
43
+ return true;
44
+ const pkg = join(repoRoot, joinPath(dir, 'package.json'));
45
+ if (existsSync(pkg)) {
46
+ const data = readJson(pkg);
47
+ if (data && data.workspaces)
48
+ return true;
49
+ }
50
+ const packagesPrefix = `${joinPath(dir, 'packages')}/`;
51
+ return files.some((file) => {
52
+ if (!file.startsWith(packagesPrefix) || !file.endsWith('/package.json'))
53
+ return false;
54
+ return file.slice(packagesPrefix.length).split('/').length === 2;
55
+ });
56
+ };
57
+ const add = (root, type) => {
58
+ const key = `${root}|${type}`;
59
+ if (seen.has(key))
60
+ return;
61
+ seen.add(key);
62
+ found.push({ root: root || '.', type });
63
+ };
64
+ for (const dir of candidates) {
65
+ if (hasFile(dir, 'Gemfile') && hasFile(dir, 'config/routes.rb'))
66
+ add(dir, 'rails');
67
+ if (hasAnyFile(dir, ['next.config.ts', 'next.config.js', 'next.config.mjs'])
68
+ && (hasDir(dir, 'app') || hasDir(dir, 'pages')))
69
+ add(dir, 'nextjs');
70
+ if (hasAnyFile(dir, ['hardhat.config.ts', 'hardhat.config.js']) && hasSolContracts(dir))
71
+ add(dir, 'hardhat');
72
+ if (isMonorepoRoot(dir))
73
+ add(dir, 'monorepo');
74
+ if (hasFile(dir, 'tsconfig.json') && hasDir(dir, 'src'))
75
+ add(dir, 'node');
76
+ }
77
+ if (found.length === 0)
78
+ return [{ root: '.', type: 'unknown' }];
79
+ return found.sort((a, b) => {
80
+ if (a.root !== b.root)
81
+ return a.root < b.root ? -1 : 1;
82
+ return PROJECT_TYPE_ORDER.indexOf(a.type) - PROJECT_TYPE_ORDER.indexOf(b.type);
83
+ });
84
+ }
85
+ export function formatWorkspaces(workspaces) {
86
+ return workspaces.map((workspace) => `${workspace.type}=${workspace.root}`).join(', ');
87
+ }
88
+ export function formatTypes(workspaces) {
89
+ const types = [];
90
+ for (const workspace of workspaces) {
91
+ if (!types.includes(workspace.type))
92
+ types.push(workspace.type);
93
+ }
94
+ return types.join(', ');
95
+ }
96
+ export function selectWorkspaces(workspaces, options) {
97
+ let selected = workspaces;
98
+ if (options.type) {
99
+ const type = options.type.trim().toLowerCase();
100
+ if (type !== 'auto') {
101
+ selected = selected.filter((workspace) => workspace.type === type);
102
+ if (selected.length === 0) {
103
+ return { selected: [], error: `No workspace of type "${type}" found. Detected: ${formatWorkspaces(workspaces)}` };
104
+ }
105
+ }
106
+ }
107
+ if (options.root) {
108
+ const root = options.root === '.' ? '.' : options.root.replace(/\/+$/, '');
109
+ selected = selected.filter((workspace) => workspace.root === root);
110
+ if (selected.length === 0) {
111
+ return { selected: [], error: `No workspace at root "${root}" found. Detected: ${formatWorkspaces(workspaces)}` };
112
+ }
113
+ }
114
+ return { selected };
115
+ }
116
+ //# sourceMappingURL=context-workspaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-workspaces.js","sourceRoot":"","sources":["../../src/tasks/context-workspaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAoB,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEnE,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AAStF,MAAM,CAAC,MAAM,kBAAkB,GAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AAOpG,SAAS,QAAQ,CAAC,QAAgB;IAChC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAA4B,CAAC;IAChF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAgB,EAAE,UAAyB,EAAE;IAClF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE;QACzC,QAAQ,EAAE,QAAQ,GAAG,CAAC;QACtB,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC,GAAG,gBAAgB,EAAE,GAAG,oBAAoB,CAAC;KACjF,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,KAAK,KAAK;QAChD,CAAC,CAAC,IAAI,GAAG,EAAU;QACnB,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAE5E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAExC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,IAAY,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAChF,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAChF,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,KAAe,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9F,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9E,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE;QACtC,MAAM,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC;QAChD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAChF,CAAC,CAAC;IACF,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,EAAE;QACrC,IAAI,OAAO,CAAC,GAAG,EAAE,qBAAqB,CAAC;YAAE,OAAO,IAAI,CAAC;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;QAC1D,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU;gBAAE,OAAO,IAAI,CAAC;QAC3C,CAAC;QACD,MAAM,cAAc,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC;QACvD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;gBAAE,OAAO,KAAK,CAAC;YACtF,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,IAAiB,EAAE,EAAE;QAC9C,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,kBAAkB,CAAC;YAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACnF,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;eACvE,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAAE,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACtE,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC;YAAE,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC7G,IAAI,cAAc,CAAC,GAAG,CAAC;YAAE,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;YAAE,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAEhE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACzB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAAuB;IACtD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,UAAuB;IACjD,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,UAAuB,EACvB,OAAyC;IAEzC,IAAI,QAAQ,GAAG,UAAU,CAAC;IAC1B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC/C,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YACnE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,yBAAyB,IAAI,sBAAsB,gBAAgB,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACpH,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3E,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACnE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,yBAAyB,IAAI,sBAAsB,gBAAgB,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACpH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,CAAC;AACtB,CAAC"}
@@ -1,13 +1,49 @@
1
- interface ContextOptions {
1
+ export declare const MAX_FILE_SIZE: number;
2
+ export declare const DEFAULT_LIMIT_KB = 100;
3
+ export interface ContextOptions {
2
4
  output?: string;
3
5
  branch?: string;
4
6
  exclude?: string[];
7
+ include?: string[];
5
8
  maxSize?: number;
6
- includePatterns?: string[];
7
9
  noClipboard?: boolean;
8
10
  full?: boolean;
9
11
  limit?: number;
12
+ type?: string;
13
+ root?: string;
14
+ task?: string;
15
+ listTasks?: boolean;
16
+ printConfig?: boolean;
17
+ depth?: number;
18
+ git?: boolean;
19
+ gitAuthors?: boolean;
20
+ untracked?: boolean;
21
+ reqs?: boolean;
22
+ reqMax?: number;
23
+ structure?: boolean;
24
+ files?: boolean;
25
+ stdout?: boolean;
26
+ truncate?: boolean;
27
+ deterministic?: boolean;
10
28
  }
29
+ export interface ContextSummary {
30
+ outputFile: string;
31
+ included: number;
32
+ contentBytes: number;
33
+ documentBytes: number;
34
+ skippedBudget: number;
35
+ skippedSize: number;
36
+ skippedBinary: number;
37
+ notFound: string[];
38
+ files: string[];
39
+ types: string;
40
+ workspaces: string;
41
+ task?: string;
42
+ requirements: number;
43
+ }
44
+ export declare function buildContext(options?: ContextOptions): Promise<ContextSummary & {
45
+ doc: string;
46
+ warnings: string[];
47
+ }>;
11
48
  export declare function runAiContext(options?: ContextOptions): Promise<void>;
12
- export {};
13
49
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/tasks/context.ts"],"names":[],"mappings":"AA0BA,UAAU,cAAc;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAmQD,wBAAsB,YAAY,CAAC,OAAO,GAAE,cAAmB,iBAoF5D"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/tasks/context.ts"],"names":[],"mappings":"AAmEA,eAAO,MAAM,aAAa,QAAY,CAAC;AACvC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB;AA0BD,wBAAsB,YAAY,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,cAAc,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA0K9H;AAED,wBAAsB,YAAY,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmD9E"}