@visulima/error 4.4.18 → 4.6.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 (70) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/LICENSE.md +125 -0
  3. package/README.md +262 -0
  4. package/dist/code-frame/index.cjs +6 -5
  5. package/dist/code-frame/index.mjs +6 -5
  6. package/dist/error/index.cjs +10 -3
  7. package/dist/error/index.d.cts +19 -1
  8. package/dist/error/index.d.mts +19 -1
  9. package/dist/error/index.d.ts +19 -1
  10. package/dist/error/index.mjs +6 -3
  11. package/dist/index.cjs +23 -5
  12. package/dist/index.d.cts +6 -2
  13. package/dist/index.d.mts +6 -2
  14. package/dist/index.d.ts +6 -2
  15. package/dist/index.mjs +13 -5
  16. package/dist/packem_shared/NonError-BrwMc2LE.mjs +13 -0
  17. package/dist/packem_shared/NonError-DqwGL5Cy.cjs +15 -0
  18. package/dist/packem_shared/addKnownErrorConstructor-DBmmT2OF.mjs +32 -0
  19. package/dist/packem_shared/addKnownErrorConstructor-J1_ZUURa.cjs +39 -0
  20. package/dist/packem_shared/ai-solution-response-BuaDQAEU.d.cts +3 -0
  21. package/dist/packem_shared/ai-solution-response-BuaDQAEU.d.mts +3 -0
  22. package/dist/packem_shared/ai-solution-response-BuaDQAEU.d.ts +3 -0
  23. package/dist/packem_shared/aiFinder-BR9Pq804.cjs +259 -0
  24. package/dist/packem_shared/aiFinder-CFHvOjD8.mjs +257 -0
  25. package/dist/packem_shared/aiSolutionResponse-BaN1M990.mjs +36 -0
  26. package/dist/packem_shared/aiSolutionResponse-Cqi0mFxy.cjs +38 -0
  27. package/dist/packem_shared/deserializeError-Be3qOGBQ.cjs +120 -0
  28. package/dist/packem_shared/deserializeError-DuzHucBb.mjs +118 -0
  29. package/dist/packem_shared/errorHintFinder-CQy_qIK3.mjs +23 -0
  30. package/dist/packem_shared/errorHintFinder-DZugFHq0.cjs +25 -0
  31. package/dist/packem_shared/formatStackFrameLine-DcXSX--m.cjs +31 -0
  32. package/dist/packem_shared/formatStackFrameLine-DqkmKWH3.mjs +26 -0
  33. package/dist/packem_shared/index-BmoOJLvu.mjs +12 -0
  34. package/dist/packem_shared/index-C53Tqb7g.cjs +14 -0
  35. package/dist/packem_shared/{indexToLineColumn-Dx91YDU1.mjs → indexToLineColumn-CKQKtKEK.mjs} +0 -2
  36. package/dist/packem_shared/{indexToLineColumn-DjmjeiIY.cjs → indexToLineColumn-Cro5eT8v.cjs} +0 -2
  37. package/dist/packem_shared/{isVisulimaError-BVLWvREw.cjs → isVisulimaError-Bb1_TB6w.cjs} +0 -1
  38. package/dist/packem_shared/{isVisulimaError-H6TqEA42.mjs → isVisulimaError-zyd80Gui.mjs} +0 -1
  39. package/dist/packem_shared/{parseStacktrace-BKGoWCwC.mjs → parseStacktrace-BlguTUcF.mjs} +10 -15
  40. package/dist/packem_shared/{parseStacktrace-6pFoXW43.cjs → parseStacktrace-woJgU2XY.cjs} +10 -15
  41. package/dist/packem_shared/{renderError-BWpM2m6k.mjs → renderError-Cn8M0fQ3.mjs} +37 -22
  42. package/dist/packem_shared/{renderError-CXZTAXig.cjs → renderError-n3kXGdYj.cjs} +35 -20
  43. package/dist/packem_shared/ruleBasedFinder-Cbmc6N7f.mjs +227 -0
  44. package/dist/packem_shared/ruleBasedFinder-CkybTSHw.cjs +229 -0
  45. package/dist/packem_shared/{serializeError-DusTUACt.mjs → serializeError-DHIelq5o.mjs} +2 -11
  46. package/dist/packem_shared/{serializeError-CT7s0Ffk.cjs → serializeError-Dt7oFM2R.cjs} +3 -12
  47. package/dist/packem_shared/types-BtQS7FHG.d.cts +20 -0
  48. package/dist/packem_shared/types-BtQS7FHG.d.mts +20 -0
  49. package/dist/packem_shared/types-BtQS7FHG.d.ts +20 -0
  50. package/dist/solution/ai/ai-prompt.cjs +42 -0
  51. package/dist/solution/ai/ai-prompt.d.cts +9 -0
  52. package/dist/solution/ai/ai-prompt.d.mts +9 -0
  53. package/dist/solution/ai/ai-prompt.d.ts +9 -0
  54. package/dist/solution/ai/ai-prompt.mjs +40 -0
  55. package/dist/solution/ai/index.cjs +13 -0
  56. package/dist/solution/ai/index.d.cts +16 -0
  57. package/dist/solution/ai/index.d.mts +16 -0
  58. package/dist/solution/ai/index.d.ts +16 -0
  59. package/dist/solution/ai/index.mjs +3 -0
  60. package/dist/solution/index.cjs +11 -0
  61. package/dist/solution/index.d.cts +8 -0
  62. package/dist/solution/index.d.mts +8 -0
  63. package/dist/solution/index.d.ts +8 -0
  64. package/dist/solution/index.mjs +2 -0
  65. package/dist/stacktrace/index.cjs +4 -1
  66. package/dist/stacktrace/index.d.cts +10 -2
  67. package/dist/stacktrace/index.d.mts +10 -2
  68. package/dist/stacktrace/index.d.ts +10 -2
  69. package/dist/stacktrace/index.mjs +2 -1
  70. package/package.json +63 -16
@@ -0,0 +1,40 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ const aiPrompt = /* @__PURE__ */ __name(({
4
+ applicationType,
5
+ error,
6
+ file
7
+ }) => `You are a very skilled ${file.language} programmer.
8
+
9
+ ${applicationType ? `You are working on a ${applicationType} application.` : ""}
10
+
11
+ Use the following context to find a possible fix for the exception message at the end. Limit your answer to 4 or 5 sentences. Also include a few links to documentation that might help.
12
+
13
+ Use this format in your answer, make sure links are json:
14
+
15
+ FIX
16
+ insert the possible fix here
17
+ ENDFIX
18
+ LINKS
19
+ {"title": "Title link 1", "url": "URL link 1"}
20
+ {"title": "Title link 2", "url": "URL link 2"}
21
+ ENDLINKS
22
+ ---
23
+
24
+ Here comes the context and the exception message:
25
+
26
+ Line: ${file.line}
27
+
28
+ File:
29
+ ${file.file}
30
+
31
+ Snippet including line numbers:
32
+ ${file.snippet}
33
+
34
+ Exception class:
35
+ ${error.name}
36
+
37
+ Exception message:
38
+ ${error.message}`, "aiPrompt");
39
+
40
+ export { aiPrompt as default };
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
+
5
+ const aiFinder = require('../../packem_shared/aiFinder-BR9Pq804.cjs');
6
+ const solution_ai_aiPrompt = require('./ai-prompt.cjs');
7
+ const aiSolutionResponse = require('../../packem_shared/aiSolutionResponse-Cqi0mFxy.cjs');
8
+
9
+
10
+
11
+ exports.aiFinder = aiFinder;
12
+ exports.aiPrompt = solution_ai_aiPrompt;
13
+ exports.aiSolutionResponse = aiSolutionResponse;
@@ -0,0 +1,16 @@
1
+ import { LanguageModel } from 'ai';
2
+ import { b as SolutionFinder } from '../../packem_shared/types-BtQS7FHG.cjs';
3
+ export { default as aiPrompt } from './ai-prompt.cjs';
4
+ export { a as aiSolutionResponse } from '../../packem_shared/ai-solution-response-BuaDQAEU.cjs';
5
+
6
+ interface CacheOptions {
7
+ directory?: string;
8
+ enabled?: boolean;
9
+ ttl?: number;
10
+ }
11
+ declare const aiFinder: (model: LanguageModel, options?: {
12
+ cache?: CacheOptions;
13
+ temperature?: number;
14
+ }) => SolutionFinder;
15
+
16
+ export { aiFinder };
@@ -0,0 +1,16 @@
1
+ import { LanguageModel } from 'ai';
2
+ import { b as SolutionFinder } from '../../packem_shared/types-BtQS7FHG.mjs';
3
+ export { default as aiPrompt } from './ai-prompt.mjs';
4
+ export { a as aiSolutionResponse } from '../../packem_shared/ai-solution-response-BuaDQAEU.mjs';
5
+
6
+ interface CacheOptions {
7
+ directory?: string;
8
+ enabled?: boolean;
9
+ ttl?: number;
10
+ }
11
+ declare const aiFinder: (model: LanguageModel, options?: {
12
+ cache?: CacheOptions;
13
+ temperature?: number;
14
+ }) => SolutionFinder;
15
+
16
+ export { aiFinder };
@@ -0,0 +1,16 @@
1
+ import { LanguageModel } from 'ai';
2
+ import { b as SolutionFinder } from '../../packem_shared/types-BtQS7FHG.js';
3
+ export { default as aiPrompt } from './ai-prompt.js';
4
+ export { a as aiSolutionResponse } from '../../packem_shared/ai-solution-response-BuaDQAEU.js';
5
+
6
+ interface CacheOptions {
7
+ directory?: string;
8
+ enabled?: boolean;
9
+ ttl?: number;
10
+ }
11
+ declare const aiFinder: (model: LanguageModel, options?: {
12
+ cache?: CacheOptions;
13
+ temperature?: number;
14
+ }) => SolutionFinder;
15
+
16
+ export { aiFinder };
@@ -0,0 +1,3 @@
1
+ export { default as aiFinder } from '../../packem_shared/aiFinder-CFHvOjD8.mjs';
2
+ export { default as aiPrompt } from './ai-prompt.mjs';
3
+ export { default as aiSolutionResponse } from '../../packem_shared/aiSolutionResponse-BaN1M990.mjs';
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
+
5
+ const errorHintFinder = require('../packem_shared/errorHintFinder-DZugFHq0.cjs');
6
+ const ruleBasedFinder = require('../packem_shared/ruleBasedFinder-CkybTSHw.cjs');
7
+
8
+
9
+
10
+ exports.errorHintFinder = errorHintFinder;
11
+ exports.ruleBasedFinder = ruleBasedFinder;
@@ -0,0 +1,8 @@
1
+ import { b as SolutionFinder } from '../packem_shared/types-BtQS7FHG.cjs';
2
+ export { S as Solution, a as SolutionError, c as SolutionFinderFile } from '../packem_shared/types-BtQS7FHG.cjs';
3
+
4
+ declare const errorHintFinder: SolutionFinder;
5
+
6
+ declare const ruleBasedFinder: SolutionFinder;
7
+
8
+ export { SolutionFinder, errorHintFinder, ruleBasedFinder };
@@ -0,0 +1,8 @@
1
+ import { b as SolutionFinder } from '../packem_shared/types-BtQS7FHG.mjs';
2
+ export { S as Solution, a as SolutionError, c as SolutionFinderFile } from '../packem_shared/types-BtQS7FHG.mjs';
3
+
4
+ declare const errorHintFinder: SolutionFinder;
5
+
6
+ declare const ruleBasedFinder: SolutionFinder;
7
+
8
+ export { SolutionFinder, errorHintFinder, ruleBasedFinder };
@@ -0,0 +1,8 @@
1
+ import { b as SolutionFinder } from '../packem_shared/types-BtQS7FHG.js';
2
+ export { S as Solution, a as SolutionError, c as SolutionFinderFile } from '../packem_shared/types-BtQS7FHG.js';
3
+
4
+ declare const errorHintFinder: SolutionFinder;
5
+
6
+ declare const ruleBasedFinder: SolutionFinder;
7
+
8
+ export { SolutionFinder, errorHintFinder, ruleBasedFinder };
@@ -0,0 +1,2 @@
1
+ export { default as errorHintFinder } from '../packem_shared/errorHintFinder-CQy_qIK3.mjs';
2
+ export { default as ruleBasedFinder } from '../packem_shared/ruleBasedFinder-Cbmc6N7f.mjs';
@@ -2,8 +2,11 @@
2
2
 
3
3
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
4
 
5
- const parseStacktrace = require('../packem_shared/parseStacktrace-6pFoXW43.cjs');
5
+ const parseStacktrace = require('../packem_shared/parseStacktrace-woJgU2XY.cjs');
6
+ const formatStackFrameLine = require('../packem_shared/formatStackFrameLine-DcXSX--m.cjs');
6
7
 
7
8
 
8
9
 
9
10
  exports.parseStacktrace = parseStacktrace;
11
+ exports.formatStackFrameLine = formatStackFrameLine.formatStackFrameLine;
12
+ exports.formatStacktrace = formatStackFrameLine.formatStacktrace;
@@ -9,9 +9,17 @@ interface Trace {
9
9
  type?: TraceType | undefined;
10
10
  }
11
11
 
12
- declare const parse: (error: Error, { filter, frameLimit }?: Partial<{
12
+ declare const parseStacktrace: (error: Error, { filter, frameLimit }?: Partial<{
13
13
  filter?: (line: string) => boolean;
14
14
  frameLimit: number;
15
15
  }>) => Trace[];
16
16
 
17
- export { type Trace, type TraceType, parse as parseStacktrace };
17
+ declare const formatStackFrameLine: (frame: Trace) => string;
18
+ declare const formatStacktrace: (frames: Trace[], options?: {
19
+ header?: {
20
+ message?: string;
21
+ name?: string;
22
+ };
23
+ }) => string;
24
+
25
+ export { type Trace, type TraceType, formatStackFrameLine, formatStacktrace, parseStacktrace };
@@ -9,9 +9,17 @@ interface Trace {
9
9
  type?: TraceType | undefined;
10
10
  }
11
11
 
12
- declare const parse: (error: Error, { filter, frameLimit }?: Partial<{
12
+ declare const parseStacktrace: (error: Error, { filter, frameLimit }?: Partial<{
13
13
  filter?: (line: string) => boolean;
14
14
  frameLimit: number;
15
15
  }>) => Trace[];
16
16
 
17
- export { type Trace, type TraceType, parse as parseStacktrace };
17
+ declare const formatStackFrameLine: (frame: Trace) => string;
18
+ declare const formatStacktrace: (frames: Trace[], options?: {
19
+ header?: {
20
+ message?: string;
21
+ name?: string;
22
+ };
23
+ }) => string;
24
+
25
+ export { type Trace, type TraceType, formatStackFrameLine, formatStacktrace, parseStacktrace };
@@ -9,9 +9,17 @@ interface Trace {
9
9
  type?: TraceType | undefined;
10
10
  }
11
11
 
12
- declare const parse: (error: Error, { filter, frameLimit }?: Partial<{
12
+ declare const parseStacktrace: (error: Error, { filter, frameLimit }?: Partial<{
13
13
  filter?: (line: string) => boolean;
14
14
  frameLimit: number;
15
15
  }>) => Trace[];
16
16
 
17
- export { type Trace, type TraceType, parse as parseStacktrace };
17
+ declare const formatStackFrameLine: (frame: Trace) => string;
18
+ declare const formatStacktrace: (frames: Trace[], options?: {
19
+ header?: {
20
+ message?: string;
21
+ name?: string;
22
+ };
23
+ }) => string;
24
+
25
+ export { type Trace, type TraceType, formatStackFrameLine, formatStacktrace, parseStacktrace };
@@ -1 +1,2 @@
1
- export { default as parseStacktrace } from '../packem_shared/parseStacktrace-BKGoWCwC.mjs';
1
+ export { default as parseStacktrace } from '../packem_shared/parseStacktrace-BlguTUcF.mjs';
2
+ export { formatStackFrameLine, formatStacktrace } from '../packem_shared/formatStackFrameLine-DqkmKWH3.mjs';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visulima/error",
3
- "version": "4.4.18",
3
+ "version": "4.6.0",
4
4
  "description": "Error with more than just a message, stacktrace parsing.",
5
5
  "keywords": [
6
6
  "anolilab",
@@ -64,43 +64,73 @@
64
64
  "type": "module",
65
65
  "exports": {
66
66
  ".": {
67
- "require": {
68
- "types": "./dist/index.d.cts",
69
- "default": "./dist/index.cjs"
70
- },
71
67
  "import": {
72
68
  "types": "./dist/index.d.mts",
73
69
  "default": "./dist/index.mjs"
70
+ },
71
+ "require": {
72
+ "types": "./dist/index.d.cts",
73
+ "default": "./dist/index.cjs"
74
74
  }
75
75
  },
76
76
  "./code-frame": {
77
- "require": {
78
- "types": "./dist/code-frame/index.d.cts",
79
- "default": "./dist/code-frame/index.cjs"
80
- },
81
77
  "import": {
82
78
  "types": "./dist/code-frame/index.d.mts",
83
79
  "default": "./dist/code-frame/index.mjs"
80
+ },
81
+ "require": {
82
+ "types": "./dist/code-frame/index.d.cts",
83
+ "default": "./dist/code-frame/index.cjs"
84
84
  }
85
85
  },
86
86
  "./error": {
87
- "require": {
88
- "types": "./dist/error/index.d.cts",
89
- "default": "./dist/error/index.cjs"
90
- },
91
87
  "import": {
92
88
  "types": "./dist/error/index.d.mts",
93
89
  "default": "./dist/error/index.mjs"
90
+ },
91
+ "require": {
92
+ "types": "./dist/error/index.d.cts",
93
+ "default": "./dist/error/index.cjs"
94
94
  }
95
95
  },
96
96
  "./stacktrace": {
97
+ "import": {
98
+ "types": "./dist/stacktrace/index.d.mts",
99
+ "default": "./dist/stacktrace/index.mjs"
100
+ },
97
101
  "require": {
98
102
  "types": "./dist/stacktrace/index.d.cts",
99
103
  "default": "./dist/stacktrace/index.cjs"
104
+ }
105
+ },
106
+ "./solution": {
107
+ "import": {
108
+ "types": "./dist/solution/index.d.mts",
109
+ "default": "./dist/solution/index.mjs"
100
110
  },
111
+ "require": {
112
+ "types": "./dist/solution/index.d.cts",
113
+ "default": "./dist/solution/index.cjs"
114
+ }
115
+ },
116
+ "./solution/ai": {
101
117
  "import": {
102
- "types": "./dist/stacktrace/index.d.mts",
103
- "default": "./dist/stacktrace/index.mjs"
118
+ "types": "./dist/solution/ai/index.d.mts",
119
+ "default": "./dist/solution/ai/index.mjs"
120
+ },
121
+ "require": {
122
+ "types": "./dist/solution/ai/index.d.cts",
123
+ "default": "./dist/solution/ai/index.cjs"
124
+ }
125
+ },
126
+ "./solution/ai/prompt": {
127
+ "import": {
128
+ "types": "./dist/solution/ai/ai-prompt.d.mts",
129
+ "default": "./dist/solution/ai/ai-prompt.mjs"
130
+ },
131
+ "require": {
132
+ "types": "./dist/solution/ai/ai-prompt.d.cts",
133
+ "default": "./dist/solution/ai/ai-prompt.cjs"
104
134
  }
105
135
  },
106
136
  "./package.json": "./package.json"
@@ -121,6 +151,15 @@
121
151
  ],
122
152
  "stacktrace": [
123
153
  "./dist/stacktrace/index.d.ts"
154
+ ],
155
+ "solution": [
156
+ "./dist/solution/index.d.ts"
157
+ ],
158
+ "solution/ai": [
159
+ "./dist/solution/ai/index.d.ts"
160
+ ],
161
+ "solution/ai/prompt": [
162
+ "./dist/solution/ai/ai-prompt.d.ts"
124
163
  ]
125
164
  }
126
165
  },
@@ -130,8 +169,16 @@
130
169
  "CHANGELOG.md",
131
170
  "LICENSE.md"
132
171
  ],
172
+ "peerDependencies": {
173
+ "ai": "^5.0.30"
174
+ },
175
+ "peerDependenciesMeta": {
176
+ "ai": {
177
+ "optional": true
178
+ }
179
+ },
133
180
  "engines": {
134
- "node": ">=18.0.0 <=23.x"
181
+ "node": ">=18.0.0 <=24.x"
135
182
  },
136
183
  "os": [
137
184
  "darwin",