@ariacode/cli 0.2.2 → 0.2.3

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 (54) hide show
  1. package/README.md +60 -7
  2. package/dist/actions/db-ask.d.ts +2 -0
  3. package/dist/actions/db-ask.js +23 -6
  4. package/dist/actions/db-ask.js.map +1 -1
  5. package/dist/actions/db-explain.d.ts +2 -0
  6. package/dist/actions/db-explain.js +23 -5
  7. package/dist/actions/db-explain.js.map +1 -1
  8. package/dist/actions/db-schema.d.ts +2 -0
  9. package/dist/actions/db-schema.js +15 -2
  10. package/dist/actions/db-schema.js.map +1 -1
  11. package/dist/actions/upgrade-deps.d.ts +2 -0
  12. package/dist/actions/upgrade-deps.js +18 -0
  13. package/dist/actions/upgrade-deps.js.map +1 -1
  14. package/dist/actions.d.ts +86 -71
  15. package/dist/actions.js +382 -182
  16. package/dist/actions.js.map +1 -1
  17. package/dist/agent.d.ts +0 -1
  18. package/dist/agent.js +1 -2
  19. package/dist/agent.js.map +1 -1
  20. package/dist/app.d.ts +3 -3
  21. package/dist/app.js +3 -3
  22. package/dist/cli.d.ts +0 -1
  23. package/dist/cli.js +15 -3
  24. package/dist/cli.js.map +1 -1
  25. package/dist/config.d.ts +1 -1
  26. package/dist/config.js +1 -1
  27. package/dist/output/schemas.d.ts +92 -0
  28. package/dist/output/schemas.js +142 -0
  29. package/dist/output/schemas.js.map +1 -0
  30. package/dist/parser.d.ts +8 -3
  31. package/dist/parser.js +51 -5
  32. package/dist/parser.js.map +1 -1
  33. package/dist/repo.d.ts +0 -1
  34. package/dist/repo.js +6 -9
  35. package/dist/repo.js.map +1 -1
  36. package/dist/safety.d.ts +0 -4
  37. package/dist/safety.js +0 -4
  38. package/dist/safety.js.map +1 -1
  39. package/dist/storage/queries.d.ts +39 -0
  40. package/dist/storage/queries.js +211 -0
  41. package/dist/storage/queries.js.map +1 -0
  42. package/dist/tools.d.ts +6 -7
  43. package/dist/tools.js +20 -7
  44. package/dist/tools.js.map +1 -1
  45. package/dist/ui/diff-renderer.d.ts +28 -0
  46. package/dist/ui/diff-renderer.js +388 -0
  47. package/dist/ui/diff-renderer.js.map +1 -0
  48. package/dist/ui/highlight.d.ts +25 -0
  49. package/dist/ui/highlight.js +239 -0
  50. package/dist/ui/highlight.js.map +1 -0
  51. package/dist/ui.d.ts +3 -16
  52. package/dist/ui.js +7 -28
  53. package/dist/ui.js.map +1 -1
  54. package/package.json +1 -1
@@ -0,0 +1,92 @@
1
+ import { z } from 'zod';
2
+ export declare const OutputVersion: "1";
3
+ export type OutputVersion = typeof OutputVersion;
4
+ export declare const AskOutputSchema: z.ZodObject<{
5
+ version: z.ZodLiteral<"1">;
6
+ answer: z.ZodString;
7
+ sessionId: z.ZodString;
8
+ }, z.core.$strip>;
9
+ export declare const PlanOutputSchema: z.ZodObject<{
10
+ version: z.ZodLiteral<"1">;
11
+ plan: z.ZodString;
12
+ sessionId: z.ZodString;
13
+ outputPath: z.ZodOptional<z.ZodString>;
14
+ }, z.core.$strip>;
15
+ export declare const PatchOutputSchema: z.ZodObject<{
16
+ version: z.ZodLiteral<"1">;
17
+ applied: z.ZodBoolean;
18
+ affectedFiles: z.ZodArray<z.ZodString>;
19
+ sessionId: z.ZodString;
20
+ dryRun: z.ZodBoolean;
21
+ }, z.core.$strip>;
22
+ export declare const ReviewOutputSchema: z.ZodObject<{
23
+ version: z.ZodLiteral<"1">;
24
+ review: z.ZodString;
25
+ sessionId: z.ZodString;
26
+ branch: z.ZodOptional<z.ZodString>;
27
+ }, z.core.$strip>;
28
+ export declare const ExploreOutputSchema: z.ZodObject<{
29
+ version: z.ZodLiteral<"1">;
30
+ summary: z.ZodString;
31
+ sessionId: z.ZodString;
32
+ }, z.core.$strip>;
33
+ export declare const DbSchemaOutputSchema: z.ZodObject<{
34
+ version: z.ZodLiteral<"1">;
35
+ models: z.ZodArray<z.ZodObject<{
36
+ name: z.ZodString;
37
+ fieldCount: z.ZodNumber;
38
+ }, z.core.$strip>>;
39
+ enumCount: z.ZodNumber;
40
+ datasourceProvider: z.ZodNullable<z.ZodString>;
41
+ }, z.core.$strip>;
42
+ export declare const DbAskOutputSchema: z.ZodObject<{
43
+ version: z.ZodLiteral<"1">;
44
+ answer: z.ZodString;
45
+ sessionId: z.ZodString;
46
+ }, z.core.$strip>;
47
+ export declare const DbExplainOutputSchema: z.ZodObject<{
48
+ version: z.ZodLiteral<"1">;
49
+ explanation: z.ZodString;
50
+ sessionId: z.ZodString;
51
+ }, z.core.$strip>;
52
+ export declare const HistoryOutputSchema: z.ZodObject<{
53
+ version: z.ZodLiteral<"1">;
54
+ sessions: z.ZodArray<z.ZodObject<{
55
+ id: z.ZodString;
56
+ command: z.ZodString;
57
+ status: z.ZodString;
58
+ createdAt: z.ZodString;
59
+ completedAt: z.ZodNullable<z.ZodString>;
60
+ }, z.core.$strip>>;
61
+ total: z.ZodNumber;
62
+ }, z.core.$strip>;
63
+ export declare const DoctorOutputSchema: z.ZodObject<{
64
+ version: z.ZodLiteral<"1">;
65
+ checks: z.ZodArray<z.ZodObject<{
66
+ name: z.ZodString;
67
+ passed: z.ZodBoolean;
68
+ message: z.ZodOptional<z.ZodString>;
69
+ }, z.core.$strip>>;
70
+ allPassed: z.ZodBoolean;
71
+ }, z.core.$strip>;
72
+ export declare const UpgradeDepsOutputSchema: z.ZodObject<{
73
+ version: z.ZodLiteral<"1">;
74
+ upgrades: z.ZodArray<z.ZodObject<{
75
+ name: z.ZodString;
76
+ current: z.ZodString;
77
+ target: z.ZodString;
78
+ risk: z.ZodEnum<{
79
+ patch: "patch";
80
+ minor: "minor";
81
+ major: "major";
82
+ prerelease: "prerelease";
83
+ }>;
84
+ }, z.core.$strip>>;
85
+ applied: z.ZodBoolean;
86
+ dryRun: z.ZodBoolean;
87
+ }, z.core.$strip>;
88
+ export declare class OutputValidationError extends Error {
89
+ readonly issues: z.ZodIssue[];
90
+ constructor(message: string, issues: z.ZodIssue[]);
91
+ }
92
+ export declare function formatOutput<T>(data: T, format: 'json' | 'ndjson' | 'plain', schema: z.ZodType<T>): string;
@@ -0,0 +1,142 @@
1
+ import { z } from 'zod';
2
+ // ─── OutputVersion ────────────────────────────────────────────────────────────
3
+ export const OutputVersion = '1';
4
+ // ─── Base schema ──────────────────────────────────────────────────────────────
5
+ const BaseOutputSchema = z.object({
6
+ version: z.literal('1'),
7
+ });
8
+ // ─── Command schemas ──────────────────────────────────────────────────────────
9
+ export const AskOutputSchema = BaseOutputSchema.extend({
10
+ answer: z.string(),
11
+ sessionId: z.string().uuid(),
12
+ });
13
+ export const PlanOutputSchema = BaseOutputSchema.extend({
14
+ plan: z.string(),
15
+ sessionId: z.string().uuid(),
16
+ outputPath: z.string().optional(),
17
+ });
18
+ export const PatchOutputSchema = BaseOutputSchema.extend({
19
+ applied: z.boolean(),
20
+ affectedFiles: z.array(z.string()),
21
+ sessionId: z.string().uuid(),
22
+ dryRun: z.boolean(),
23
+ });
24
+ export const ReviewOutputSchema = BaseOutputSchema.extend({
25
+ review: z.string(),
26
+ sessionId: z.string().uuid(),
27
+ branch: z.string().optional(),
28
+ });
29
+ export const ExploreOutputSchema = BaseOutputSchema.extend({
30
+ summary: z.string(),
31
+ sessionId: z.string().uuid(),
32
+ });
33
+ export const DbSchemaOutputSchema = BaseOutputSchema.extend({
34
+ models: z.array(z.object({
35
+ name: z.string(),
36
+ fieldCount: z.number(),
37
+ })),
38
+ enumCount: z.number(),
39
+ datasourceProvider: z.string().nullable(),
40
+ });
41
+ export const DbAskOutputSchema = BaseOutputSchema.extend({
42
+ answer: z.string(),
43
+ sessionId: z.string().uuid(),
44
+ });
45
+ export const DbExplainOutputSchema = BaseOutputSchema.extend({
46
+ explanation: z.string(),
47
+ sessionId: z.string().uuid(),
48
+ });
49
+ export const HistoryOutputSchema = BaseOutputSchema.extend({
50
+ sessions: z.array(z.object({
51
+ id: z.string(),
52
+ command: z.string(),
53
+ status: z.string(),
54
+ createdAt: z.string(),
55
+ completedAt: z.string().nullable(),
56
+ })),
57
+ total: z.number(),
58
+ });
59
+ export const DoctorOutputSchema = BaseOutputSchema.extend({
60
+ checks: z.array(z.object({
61
+ name: z.string(),
62
+ passed: z.boolean(),
63
+ message: z.string().optional(),
64
+ })),
65
+ allPassed: z.boolean(),
66
+ });
67
+ export const UpgradeDepsOutputSchema = BaseOutputSchema.extend({
68
+ upgrades: z.array(z.object({
69
+ name: z.string(),
70
+ current: z.string(),
71
+ target: z.string(),
72
+ risk: z.enum(['patch', 'minor', 'major', 'prerelease']),
73
+ })),
74
+ applied: z.boolean(),
75
+ dryRun: z.boolean(),
76
+ });
77
+ // ─── OutputValidationError ────────────────────────────────────────────────────
78
+ export class OutputValidationError extends Error {
79
+ issues;
80
+ constructor(message, issues) {
81
+ super(message);
82
+ this.issues = issues;
83
+ this.name = 'OutputValidationError';
84
+ }
85
+ }
86
+ // ─── formatOutput ─────────────────────────────────────────────────────────────
87
+ /**
88
+ * Render a plain-text representation of a data object with no ANSI codes.
89
+ * Flat scalar fields are rendered as `key\tvalue\n`.
90
+ * Array fields render one item per line.
91
+ */
92
+ function renderPlain(data) {
93
+ if (data === null || typeof data !== 'object') {
94
+ return String(data) + '\n';
95
+ }
96
+ const obj = data;
97
+ const lines = [];
98
+ for (const [key, value] of Object.entries(obj)) {
99
+ if (Array.isArray(value)) {
100
+ lines.push(`${key}:`);
101
+ for (const item of value) {
102
+ if (item !== null && typeof item === 'object') {
103
+ // Render object items as tab-separated key=value pairs on one line
104
+ const parts = Object.entries(item).map(([k, v]) => `${k}=${v === null ? 'null' : String(v)}`);
105
+ lines.push(` ${parts.join('\t')}`);
106
+ }
107
+ else {
108
+ lines.push(` ${String(item)}`);
109
+ }
110
+ }
111
+ }
112
+ else if (value !== null && typeof value === 'object') {
113
+ // Nested object — render sub-fields indented
114
+ lines.push(`${key}:`);
115
+ for (const [k, v] of Object.entries(value)) {
116
+ lines.push(` ${k}\t${v === null ? 'null' : String(v)}`);
117
+ }
118
+ }
119
+ else {
120
+ lines.push(`${key}\t${value === null ? 'null' : String(value)}`);
121
+ }
122
+ }
123
+ return lines.join('\n') + '\n';
124
+ }
125
+ export function formatOutput(data, format, schema) {
126
+ const result = schema.safeParse(data);
127
+ if (!result.success) {
128
+ throw new OutputValidationError(`Output validation failed: ${result.error.issues.map((i) => i.message).join(', ')}`, result.error.issues);
129
+ }
130
+ // Use result.data (the validated/transformed output) instead of raw data,
131
+ // in case the schema applies defaults, coercions, or strips unknown keys.
132
+ const validated = result.data;
133
+ switch (format) {
134
+ case 'json':
135
+ return JSON.stringify(validated, null, 2) + '\n';
136
+ case 'ndjson':
137
+ return JSON.stringify(validated) + '\n' + '{"version":"1","event":"done"}\n';
138
+ case 'plain':
139
+ return renderPlain(validated);
140
+ }
141
+ }
142
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/output/schemas.ts"],"names":[],"mappings":"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"}
package/dist/parser.d.ts CHANGED
@@ -2,6 +2,7 @@
2
2
  * CLI argument parsing and validation — extracted for testability.
3
3
  * This module has no side effects and does not call process.exit directly.
4
4
  */
5
+ import type { SessionStatus } from "./storage.js";
5
6
  export interface ParsedArgs {
6
7
  command: string | null;
7
8
  question?: string;
@@ -11,7 +12,7 @@ export interface ParsedArgs {
11
12
  assumeYes: boolean;
12
13
  session?: string;
13
14
  quiet: boolean;
14
- format: "text" | "json";
15
+ format: "text" | "json" | "ndjson" | "plain";
15
16
  provider?: string;
16
17
  model?: string;
17
18
  maxTokens?: number;
@@ -34,17 +35,21 @@ export interface ParsedArgs {
34
35
  upgradeSubcommand?: "deps" | "prisma";
35
36
  upgradeRisk?: "patch" | "minor" | "major" | "all";
36
37
  upgradeDev?: boolean;
38
+ historySearch?: string;
39
+ historyCommand?: string;
40
+ historySince?: string;
41
+ historyStatus?: SessionStatus;
42
+ historyExport?: string;
43
+ historySplit?: boolean;
37
44
  }
38
45
  export declare const GLOBAL_USAGE: string;
39
46
  export declare const COMMAND_USAGE: Record<string, string>;
40
47
  /**
41
48
  * Parse an argv array into a typed ParsedArgs object.
42
- * Requirements: 2.1, 2.2, 2.3, 2.4, 2.7, 2.8
43
49
  */
44
50
  export declare function parseCLI(argv?: string[]): ParsedArgs;
45
51
  /**
46
52
  * Validate parsed arguments.
47
53
  * Calls process.exit(2) on invalid arguments.
48
- * Requirements: 2.5, 2.6
49
54
  */
50
55
  export declare function validateArgs(args: ParsedArgs): void;
package/dist/parser.js CHANGED
@@ -29,7 +29,7 @@ ${pc.bold("GLOBAL OPTIONS:")}
29
29
  --yes Skip confirmation prompts
30
30
  --session <id> Resume or reference a session
31
31
  --quiet Suppress non-essential output
32
- --format <text|json> Output format (default: text)
32
+ --format <fmt> Output format: text, json, ndjson, plain (default: text)
33
33
  --provider <name> Override provider (anthropic, openai, ollama, openrouter)
34
34
  --model <name> Override model for this invocation
35
35
  --help, -h Show this help message
@@ -91,11 +91,17 @@ ${pc.bold("OPTIONS:")}
91
91
  history: `
92
92
  ${pc.bold("USAGE:")}
93
93
  aria history [options]
94
+ aria history search <query>
94
95
 
95
96
  ${pc.bold("OPTIONS:")}
96
97
  --limit <n> Limit number of results
97
98
  --session <id> Show full log for a specific session
98
99
  --tree Render tool execution tree
100
+ --command <cmd> Filter by command name
101
+ --since <expr> Filter by date (e.g. "3 days ago", "2024-01-15")
102
+ --status <status> Filter by status: running, completed, failed, cancelled
103
+ --export <path> Export session transcript to markdown file (requires --session)
104
+ --format <fmt> Output format: text, json, ndjson, plain (default: text)
99
105
  `,
100
106
  config: `
101
107
  ${pc.bold("USAGE:")}
@@ -159,7 +165,6 @@ ${pc.bold("OPTIONS (prisma):")}
159
165
  // ---------------------------------------------------------------------------
160
166
  /**
161
167
  * Parse an argv array into a typed ParsedArgs object.
162
- * Requirements: 2.1, 2.2, 2.3, 2.4, 2.7, 2.8
163
168
  */
164
169
  export function parseCLI(argv = process.argv.slice(2)) {
165
170
  const args = {
@@ -275,6 +280,37 @@ export function parseCLI(argv = process.argv.slice(2)) {
275
280
  else if (token === "--dev") {
276
281
  args.upgradeDev = true;
277
282
  }
283
+ else if (token === "--command") {
284
+ i++;
285
+ args.historyCommand = tokens[i];
286
+ }
287
+ else if (token.startsWith("--command=")) {
288
+ args.historyCommand = token.slice("--command=".length);
289
+ }
290
+ else if (token === "--since") {
291
+ i++;
292
+ args.historySince = tokens[i];
293
+ }
294
+ else if (token.startsWith("--since=")) {
295
+ args.historySince = token.slice("--since=".length);
296
+ }
297
+ else if (token === "--status") {
298
+ i++;
299
+ args.historyStatus = tokens[i];
300
+ }
301
+ else if (token.startsWith("--status=")) {
302
+ args.historyStatus = token.slice("--status=".length);
303
+ }
304
+ else if (token === "--export") {
305
+ i++;
306
+ args.historyExport = tokens[i];
307
+ }
308
+ else if (token.startsWith("--export=")) {
309
+ args.historyExport = token.slice("--export=".length);
310
+ }
311
+ else if (token === "--split") {
312
+ args.historySplit = true;
313
+ }
278
314
  else if (token === "--provider") {
279
315
  i++;
280
316
  args.provider = tokens[i];
@@ -348,6 +384,12 @@ export function parseCLI(argv = process.argv.slice(2)) {
348
384
  }
349
385
  break;
350
386
  }
387
+ case "history": {
388
+ if (positionals[1] === "search" && positionals[2]) {
389
+ args.historySearch = positionals[2];
390
+ }
391
+ break;
392
+ }
351
393
  }
352
394
  return args;
353
395
  }
@@ -357,7 +399,6 @@ export function parseCLI(argv = process.argv.slice(2)) {
357
399
  /**
358
400
  * Validate parsed arguments.
359
401
  * Calls process.exit(2) on invalid arguments.
360
- * Requirements: 2.5, 2.6
361
402
  */
362
403
  export function validateArgs(args) {
363
404
  const fail = (message, command) => {
@@ -367,8 +408,13 @@ export function validateArgs(args) {
367
408
  console.error(usage);
368
409
  process.exit(2);
369
410
  };
370
- if (args.format !== "text" && args.format !== "json") {
371
- fail(`--format must be "text" or "json", got "${args.format}"`);
411
+ const VALID_FORMATS = ['text', 'json', 'ndjson', 'plain'];
412
+ if (!VALID_FORMATS.includes(args.format)) {
413
+ fail(`--format must be one of: text, json, ndjson, plain. Got "${args.format}"`);
414
+ }
415
+ const VALID_STATUSES = ['running', 'completed', 'failed', 'cancelled'];
416
+ if (args.historyStatus && !VALID_STATUSES.includes(args.historyStatus)) {
417
+ fail(`--status must be one of: running, completed, failed, cancelled. Got "${args.historyStatus}"`);
372
418
  }
373
419
  if (args.maxTokens !== undefined &&
374
420
  (isNaN(args.maxTokens) || args.maxTokens <= 0)) {
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
package/dist/repo.d.ts CHANGED
@@ -17,6 +17,5 @@ export interface ProjectInfo {
17
17
  }
18
18
  /**
19
19
  * Detect project type based on framework indicators
20
- * Requirements: 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9
21
20
  */
22
21
  export declare function detectProjectType(rootDir?: string): ProjectInfo;
package/dist/repo.js CHANGED
@@ -2,7 +2,6 @@ import { existsSync, readFileSync, readdirSync } from 'node:fs';
2
2
  import { join, resolve } from 'node:path';
3
3
  /**
4
4
  * Detect project type based on framework indicators
5
- * Requirements: 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9
6
5
  */
7
6
  export function detectProjectType(rootDir = process.cwd()) {
8
7
  const rootPath = resolve(rootDir);
@@ -23,7 +22,7 @@ export function detectProjectType(rootDir = process.cwd()) {
23
22
  ...packageJson?.dependencies,
24
23
  ...packageJson?.devDependencies,
25
24
  };
26
- // Detect Next.js (Requirement 4.1)
25
+ // Detect Next.js
27
26
  const hasNextDep = !!deps?.next;
28
27
  const hasNextConfig = existsSync(join(rootPath, 'next.config.js')) ||
29
28
  existsSync(join(rootPath, 'next.config.mjs')) ||
@@ -33,7 +32,7 @@ export function detectProjectType(rootDir = process.cwd()) {
33
32
  const prisma = detectPrisma(rootPath, deps);
34
33
  const packageManager = detectPackageManager(rootPath);
35
34
  if (hasNextDep || hasNextConfig) {
36
- // Detect Next.js router type (Requirements 4.2, 4.3)
35
+ // Detect Next.js router type
37
36
  const router = detectNextJsRouter(rootPath);
38
37
  return {
39
38
  type: "nextjs",
@@ -49,7 +48,7 @@ export function detectProjectType(rootDir = process.cwd()) {
49
48
  rootPath,
50
49
  };
51
50
  }
52
- // Detect Nest.js (Requirement 4.4)
51
+ // Detect Nest.js
53
52
  const hasNestDep = !!deps?.['@nestjs/core'];
54
53
  const hasNestCli = existsSync(join(rootPath, 'nest-cli.json'));
55
54
  if (hasNestDep || hasNestCli) {
@@ -66,7 +65,7 @@ export function detectProjectType(rootDir = process.cwd()) {
66
65
  rootPath,
67
66
  };
68
67
  }
69
- // Fallback to Node.js (Requirement 4.5)
68
+ // Fallback to Node.js
70
69
  return {
71
70
  type: "nodejs",
72
71
  hasPrisma: prisma.hasPrisma,
@@ -78,12 +77,11 @@ export function detectProjectType(rootDir = process.cwd()) {
78
77
  }
79
78
  /**
80
79
  * Detect Next.js router type (app vs pages)
81
- * Requirements: 4.2, 4.3
82
80
  */
83
81
  function detectNextJsRouter(rootPath) {
84
82
  const appDir = join(rootPath, 'app');
85
83
  const pagesDir = join(rootPath, 'pages');
86
- // Check for app router indicators (Requirement 4.2)
84
+ // Check for app router indicators
87
85
  if (existsSync(appDir)) {
88
86
  try {
89
87
  const appContents = readdirSync(appDir);
@@ -96,7 +94,7 @@ function detectNextJsRouter(rootPath) {
96
94
  // Ignore read errors
97
95
  }
98
96
  }
99
- // Check for pages router indicators (Requirement 4.3)
97
+ // Check for pages router indicators
100
98
  if (existsSync(pagesDir)) {
101
99
  try {
102
100
  const pagesContents = readdirSync(pagesDir);
@@ -118,7 +116,6 @@ function detectNextJsRouter(rootPath) {
118
116
  }
119
117
  /**
120
118
  * Detect Prisma presence and schema path
121
- * Requirement: 4.6
122
119
  */
123
120
  function detectPrisma(rootPath, deps) {
124
121
  const hasPrismaDep = !!deps?.prisma || !!deps?.['@prisma/client'];
package/dist/repo.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"repo.js","sourceRoot":"","sources":["../src/repo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repo.js","sourceRoot":"","sources":["../src/repo.ts"],"names":[],"mappings":"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"}
package/dist/safety.d.ts CHANGED
@@ -12,7 +12,6 @@ export declare class SafetyError extends Error {
12
12
  * @param projectRoot - Absolute path to project root
13
13
  * @throws SafetyError if path is outside project root
14
14
  *
15
- * Requirements: 7.1, 7.3, 7.4, 8.7, 23.4
16
15
  */
17
16
  export declare function validatePath(inputPath: string, projectRoot: string): void;
18
17
  /**
@@ -22,7 +21,6 @@ export declare function validatePath(inputPath: string, projectRoot: string): vo
22
21
  * @param maxFileSizeKb - Maximum file size in kilobytes
23
22
  * @throws SafetyError if file exceeds size limit
24
23
  *
25
- * Requirements: 7.7
26
24
  */
27
25
  export declare function validateFileSize(filePath: string, maxFileSizeKb: number): void;
28
26
  /**
@@ -32,7 +30,6 @@ export declare function validateFileSize(filePath: string, maxFileSizeKb: number
32
30
  * @param maxFilesPerPatch - Maximum number of files allowed per patch
33
31
  * @throws SafetyError if patch exceeds file count limit
34
32
  *
35
- * Requirements: 7.8
36
33
  */
37
34
  export declare function validatePatchSize(fileCount: number, maxFilesPerPatch: number): void;
38
35
  /**
@@ -43,6 +40,5 @@ export declare function validatePatchSize(fileCount: number, maxFilesPerPatch: n
43
40
  * @param allowedCommands - List of allowed binary names
44
41
  * @throws SafetyError if command is not in allowlist
45
42
  *
46
- * Requirements: 7.9, 23.5
47
43
  */
48
44
  export declare function validateShellCommand(command: string, allowedCommands: string[]): void;
package/dist/safety.js CHANGED
@@ -17,7 +17,6 @@ export class SafetyError extends Error {
17
17
  * @param projectRoot - Absolute path to project root
18
18
  * @throws SafetyError if path is outside project root
19
19
  *
20
- * Requirements: 7.1, 7.3, 7.4, 8.7, 23.4
21
20
  */
22
21
  export function validatePath(inputPath, projectRoot) {
23
22
  // Resolve the input path relative to project root
@@ -57,7 +56,6 @@ export function validatePath(inputPath, projectRoot) {
57
56
  * @param maxFileSizeKb - Maximum file size in kilobytes
58
57
  * @throws SafetyError if file exceeds size limit
59
58
  *
60
- * Requirements: 7.7
61
59
  */
62
60
  export function validateFileSize(filePath, maxFileSizeKb) {
63
61
  try {
@@ -85,7 +83,6 @@ export function validateFileSize(filePath, maxFileSizeKb) {
85
83
  * @param maxFilesPerPatch - Maximum number of files allowed per patch
86
84
  * @throws SafetyError if patch exceeds file count limit
87
85
  *
88
- * Requirements: 7.8
89
86
  */
90
87
  export function validatePatchSize(fileCount, maxFilesPerPatch) {
91
88
  if (fileCount > maxFilesPerPatch) {
@@ -126,7 +123,6 @@ function extractBinary(command) {
126
123
  * @param allowedCommands - List of allowed binary names
127
124
  * @throws SafetyError if command is not in allowlist
128
125
  *
129
- * Requirements: 7.9, 23.5
130
126
  */
131
127
  export function validateShellCommand(command, allowedCommands) {
132
128
  const binary = extractBinary(command);
@@ -1 +1 @@
1
- {"version":3,"file":"safety.js","sourceRoot":"","sources":["../src/safety.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"safety.js","sourceRoot":"","sources":["../src/safety.ts"],"names":[],"mappings":"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"}