@agentica/core 0.43.2 → 0.44.0-dev.20260313
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.
- package/LICENSE +21 -21
- package/README.md +218 -218
- package/lib/constants/AgenticaSystemPrompt.js +1 -1
- package/lib/constants/AgenticaSystemPrompt.js.map +1 -1
- package/lib/context/AgenticaOperation.d.ts +3 -2
- package/lib/context/internal/AgenticaOperationComposer.js.map +1 -1
- package/lib/context/internal/AgenticaTokenUsageAggregator.js.map +1 -1
- package/lib/context/internal/__IChatInitialApplication.d.ts +1 -1
- package/lib/errors/AgenticaJsonParseError.d.ts +5 -8
- package/lib/errors/AgenticaJsonParseError.js +11 -6
- package/lib/errors/AgenticaJsonParseError.js.map +1 -1
- package/lib/errors/AgenticaValidationError.d.ts +1 -1
- package/lib/events/AgenticaExecuteEvent.d.ts +1 -1
- package/lib/events/AgenticaJsonParseErrorEvent.d.ts +2 -2
- package/lib/factory/events.d.ts +2 -3
- package/lib/factory/events.js +1 -2
- package/lib/factory/events.js.map +1 -1
- package/lib/functional/assertHttpController.d.ts +2 -3
- package/lib/functional/assertHttpController.js +3939 -2656
- package/lib/functional/assertHttpController.js.map +1 -1
- package/lib/functional/assertHttpLlmApplication.d.ts +3 -3
- package/lib/functional/assertHttpLlmApplication.js +3939 -2656
- package/lib/functional/assertHttpLlmApplication.js.map +1 -1
- package/lib/functional/assertMcpController.d.ts +2 -2
- package/lib/functional/assertMcpController.js +202 -629
- package/lib/functional/assertMcpController.js.map +1 -1
- package/lib/functional/createMcpLlmApplication.d.ts +6 -0
- package/lib/functional/createMcpLlmApplication.js +56 -0
- package/lib/functional/createMcpLlmApplication.js.map +1 -0
- package/lib/functional/validateHttpController.d.ts +3 -3
- package/lib/functional/validateHttpController.js +3367 -2268
- package/lib/functional/validateHttpController.js.map +1 -1
- package/lib/functional/validateHttpLlmApplication.d.ts +3 -4
- package/lib/functional/validateHttpLlmApplication.js +3367 -2268
- package/lib/functional/validateHttpLlmApplication.js.map +1 -1
- package/lib/functional/validateMcpController.d.ts +2 -2
- package/lib/functional/validateMcpController.js +388 -1161
- package/lib/functional/validateMcpController.js.map +1 -1
- package/lib/histories/AgenticaExecuteHistory.d.ts +1 -1
- package/lib/index.mjs +21256 -18948
- package/lib/index.mjs.map +1 -1
- package/lib/orchestrate/call.js +43 -56
- package/lib/orchestrate/call.js.map +1 -1
- package/lib/orchestrate/cancel.js +9 -66
- package/lib/orchestrate/cancel.js.map +1 -1
- package/lib/orchestrate/initialize.js +4 -947
- package/lib/orchestrate/initialize.js.map +1 -1
- package/lib/orchestrate/select.js +11 -68
- package/lib/orchestrate/select.js.map +1 -1
- package/lib/structures/IAgenticaController.d.ts +143 -151
- package/lib/structures/IMcpTool.d.ts +52 -0
- package/lib/structures/IMcpTool.js +3 -0
- package/lib/structures/IMcpTool.js.map +1 -0
- package/lib/utils/ChatGptCompletionMessageUtil.js +16 -5
- package/lib/utils/ChatGptCompletionMessageUtil.js.map +1 -1
- package/lib/utils/ChatGptCompletionMessageUtil.spec.js +0 -5
- package/lib/utils/ChatGptCompletionMessageUtil.spec.js.map +1 -1
- package/package.json +7 -9
- package/prompts/cancel.md +5 -5
- package/prompts/common.md +3 -3
- package/prompts/describe.md +7 -7
- package/prompts/execute.md +122 -122
- package/prompts/initialize.md +3 -3
- package/prompts/json_parse_error.md +35 -33
- package/prompts/select.md +7 -7
- package/prompts/validate.md +123 -123
- package/prompts/validate_repeated.md +31 -31
- package/src/Agentica.ts +367 -367
- package/src/MicroAgentica.ts +357 -357
- package/src/constants/AgenticaConstant.ts +4 -4
- package/src/constants/AgenticaDefaultPrompt.ts +44 -44
- package/src/constants/AgenticaSystemPrompt.ts +1 -1
- package/src/constants/index.ts +2 -2
- package/src/context/AgenticaContext.ts +136 -136
- package/src/context/AgenticaContextRequestResult.ts +14 -14
- package/src/context/AgenticaOperation.ts +73 -72
- package/src/context/AgenticaOperationCollection.ts +49 -49
- package/src/context/AgenticaOperationSelection.ts +9 -9
- package/src/context/AgenticaTokenUsage.ts +186 -186
- package/src/context/MicroAgenticaContext.ts +99 -99
- package/src/context/index.ts +5 -5
- package/src/context/internal/AgenticaOperationComposer.ts +177 -177
- package/src/context/internal/AgenticaTokenUsageAggregator.ts +66 -66
- package/src/context/internal/__IChatCancelFunctionsApplication.ts +23 -23
- package/src/context/internal/__IChatFunctionReference.ts +21 -21
- package/src/context/internal/__IChatInitialApplication.ts +15 -15
- package/src/context/internal/__IChatSelectFunctionsApplication.ts +24 -24
- package/src/context/internal/isAgenticaContext.ts +11 -11
- package/src/errors/AgenticaJsonParseError.ts +52 -47
- package/src/errors/AgenticaValidationError.ts +49 -49
- package/src/errors/index.ts +2 -2
- package/src/events/AgenticaAssistantMessageEvent.ts +12 -12
- package/src/events/AgenticaCallEvent.ts +27 -27
- package/src/events/AgenticaCancelEvent.ts +9 -9
- package/src/events/AgenticaDescribeEvent.ts +14 -14
- package/src/events/AgenticaEvent.ts +59 -59
- package/src/events/AgenticaEvent.type.ts +19 -19
- package/src/events/AgenticaEventBase.ts +18 -18
- package/src/events/AgenticaEventSource.ts +6 -6
- package/src/events/AgenticaExecuteEvent.ts +45 -45
- package/src/events/AgenticaInitializeEvent.ts +7 -7
- package/src/events/AgenticaJsonParseErrorEvent.ts +16 -15
- package/src/events/AgenticaRequestEvent.ts +27 -27
- package/src/events/AgenticaResponseEvent.ts +32 -32
- package/src/events/AgenticaSelectEvent.ts +11 -11
- package/src/events/AgenticaUserMessageEvent.ts +12 -12
- package/src/events/AgenticaValidateEvent.ts +32 -32
- package/src/events/MicroAgenticaEvent.ts +45 -45
- package/src/events/index.ts +15 -15
- package/src/factory/events.ts +357 -359
- package/src/factory/histories.ts +348 -348
- package/src/factory/index.ts +3 -3
- package/src/factory/operations.ts +16 -16
- package/src/functional/assertHttpController.ts +106 -104
- package/src/functional/assertHttpLlmApplication.ts +52 -57
- package/src/functional/assertMcpController.ts +47 -44
- package/src/functional/createMcpLlmApplication.ts +72 -0
- package/src/functional/index.ts +7 -7
- package/src/functional/validateHttpController.ts +113 -110
- package/src/functional/validateHttpLlmApplication.ts +65 -70
- package/src/functional/validateMcpController.ts +53 -50
- package/src/histories/AgenticaAssistantMessageHistory.ts +10 -10
- package/src/histories/AgenticaCancelHistory.ts +8 -8
- package/src/histories/AgenticaDescribeHistory.ts +18 -18
- package/src/histories/AgenticaExecuteHistory.ts +64 -64
- package/src/histories/AgenticaHistory.ts +28 -28
- package/src/histories/AgenticaHistoryBase.ts +35 -35
- package/src/histories/AgenticaSelectHistory.ts +8 -8
- package/src/histories/AgenticaSystemMessageHistory.ts +10 -10
- package/src/histories/AgenticaUserMessageHistory.ts +11 -11
- package/src/histories/MicroAgenticaHistory.ts +19 -19
- package/src/histories/contents/AgenticaUserMessageAudioContent.ts +21 -21
- package/src/histories/contents/AgenticaUserMessageContent.ts +19 -19
- package/src/histories/contents/AgenticaUserMessageContentBase.ts +6 -6
- package/src/histories/contents/AgenticaUserMessageFileContent.ts +25 -25
- package/src/histories/contents/AgenticaUserMessageImageContent.ts +33 -33
- package/src/histories/contents/AgenticaUserMessageTextContent.ts +15 -15
- package/src/histories/contents/index.ts +5 -5
- package/src/histories/index.ts +10 -10
- package/src/index.ts +15 -15
- package/src/json/IAgenticaEventJson.ts +265 -265
- package/src/json/IAgenticaEventJson.type.ts +19 -19
- package/src/json/IAgenticaHistoryJson.ts +165 -165
- package/src/json/IAgenticaHistoryJson.type.ts +19 -19
- package/src/json/IAgenticaOperationJson.ts +36 -36
- package/src/json/IAgenticaOperationSelectionJson.ts +26 -26
- package/src/json/IAgenticaTokenUsageJson.ts +107 -107
- package/src/json/IMicroAgenticaEventJson.ts +22 -22
- package/src/json/IMicroAgenticaHistoryJson.ts +25 -25
- package/src/json/index.ts +7 -7
- package/src/orchestrate/call.ts +542 -558
- package/src/orchestrate/cancel.ts +265 -269
- package/src/orchestrate/describe.ts +66 -66
- package/src/orchestrate/execute.ts +61 -61
- package/src/orchestrate/index.ts +6 -6
- package/src/orchestrate/initialize.ts +102 -102
- package/src/orchestrate/internal/cancelFunctionFromContext.ts +33 -33
- package/src/orchestrate/internal/selectFunctionFromContext.ts +34 -34
- package/src/orchestrate/select.ts +320 -322
- package/src/structures/IAgenticaConfig.ts +83 -83
- package/src/structures/IAgenticaConfigBase.ts +87 -87
- package/src/structures/IAgenticaController.ts +143 -151
- package/src/structures/IAgenticaExecutor.ts +167 -167
- package/src/structures/IAgenticaProps.ts +78 -78
- package/src/structures/IAgenticaSystemPrompt.ts +236 -236
- package/src/structures/IAgenticaVendor.ts +54 -54
- package/src/structures/IMcpTool.ts +60 -0
- package/src/structures/IMicroAgenticaConfig.ts +56 -56
- package/src/structures/IMicroAgenticaExecutor.ts +67 -67
- package/src/structures/IMicroAgenticaProps.ts +77 -77
- package/src/structures/IMicroAgenticaSystemPrompt.ts +169 -169
- package/src/structures/index.ts +10 -10
- package/src/transformers/transformHistory.ts +172 -172
- package/src/utils/AssistantMessageEmptyError.ts +20 -20
- package/src/utils/AsyncQueue.spec.ts +355 -355
- package/src/utils/AsyncQueue.ts +95 -95
- package/src/utils/ByteArrayUtil.ts +5 -5
- package/src/utils/ChatGptCompletionMessageUtil.spec.ts +314 -320
- package/src/utils/ChatGptCompletionMessageUtil.ts +210 -195
- package/src/utils/ChatGptCompletionStreamingUtil.spec.ts +909 -909
- package/src/utils/ChatGptCompletionStreamingUtil.ts +91 -91
- package/src/utils/ChatGptTokenUsageAggregator.spec.ts +226 -226
- package/src/utils/ChatGptTokenUsageAggregator.ts +57 -57
- package/src/utils/MPSC.spec.ts +276 -276
- package/src/utils/MPSC.ts +42 -42
- package/src/utils/Singleton.spec.ts +138 -138
- package/src/utils/Singleton.ts +42 -42
- package/src/utils/StreamUtil.spec.ts +512 -512
- package/src/utils/StreamUtil.ts +87 -87
- package/src/utils/__map_take.spec.ts +140 -140
- package/src/utils/__map_take.ts +13 -13
- package/src/utils/__retry.spec.ts +198 -198
- package/src/utils/__retry.ts +18 -18
- package/src/utils/assertExecuteFailure.ts +16 -16
- package/src/utils/index.ts +4 -4
- package/src/utils/request.ts +140 -140
- package/src/utils/types.ts +50 -50
- package/lib/context/internal/AgenticaOperationComposer.spec.d.ts +0 -1
- package/lib/context/internal/AgenticaOperationComposer.spec.js +0 -353
- package/lib/context/internal/AgenticaOperationComposer.spec.js.map +0 -1
- package/lib/utils/JsonUtil.d.ts +0 -8
- package/lib/utils/JsonUtil.js +0 -350
- package/lib/utils/JsonUtil.js.map +0 -1
- package/src/context/internal/AgenticaOperationComposer.spec.ts +0 -401
- package/src/utils/JsonUtil.ts +0 -462
package/prompts/validate.md
CHANGED
|
@@ -1,123 +1,123 @@
|
|
|
1
|
-
# AI Function Calling Corrector Agent
|
|
2
|
-
|
|
3
|
-
You analyze validation failures and generate corrected function arguments. You receive `IValidation.IFailure` with detailed error information and produce corrected arguments that achieve 100% compliance.
|
|
4
|
-
|
|
5
|
-
Errors are presented with inline `❌` comments at the exact location:
|
|
6
|
-
|
|
7
|
-
```json
|
|
8
|
-
{
|
|
9
|
-
"user": {
|
|
10
|
-
"email": "invalid" // ❌ [{"path":"$input.user.email","expected":"string & Format<'email'>"}]
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## 1. Validation Error Structure
|
|
18
|
-
|
|
19
|
-
```typescript
|
|
20
|
-
interface IValidation.IError {
|
|
21
|
-
path: string; // Location: "$input.user.email"
|
|
22
|
-
expected: string; // Values/types actually valid in current runtime state
|
|
23
|
-
value: unknown; // Your value that failed
|
|
24
|
-
description?: string; // Authoritative instructions — follow exactly when present
|
|
25
|
-
}
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
| Field | Role | Priority |
|
|
29
|
-
|-------|------|----------|
|
|
30
|
-
| `path` | Exact error location in your input | Use to locate what to fix |
|
|
31
|
-
| `expected` | What is **actually valid right now** — may be stricter than schema | **Overrides schema** |
|
|
32
|
-
| `value` | What you provided (rejected) | Reference only |
|
|
33
|
-
| `description` | Binding instructions: available items, banned types, required actions | **Highest — follow exactly** |
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## 2. Validation Feedback Overrides Schema
|
|
38
|
-
|
|
39
|
-
The JSON schema describes the **general** structure. Validation feedback reflects the **actual runtime state** — a strict subset of what the schema allows. Options get consumed, items get exhausted, domain constraints narrow during orchestration.
|
|
40
|
-
|
|
41
|
-
```
|
|
42
|
-
Validation feedback > JSON schema — no exceptions
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
| Situation | Action |
|
|
46
|
-
|-----------|--------|
|
|
47
|
-
| Schema says `string`, but `expected` lists 5 specific values | Use only those 5 values |
|
|
48
|
-
| Schema enum has 8 items, but `expected` shows only 2 | Use only those 2 — the rest are consumed |
|
|
49
|
-
| Schema union includes type `"X"`, but feedback says `"X"` is banned | NEVER retry `"X"` — no parameter variation helps |
|
|
50
|
-
| Feedback says items are already loaded | Stop requesting them — they are in your conversation history |
|
|
51
|
-
|
|
52
|
-
When validation feedback and schema conflict, **always obey validation feedback**.
|
|
53
|
-
|
|
54
|
-
---
|
|
55
|
-
|
|
56
|
-
## 3. Correction Strategy
|
|
57
|
-
|
|
58
|
-
### 3.1 Error Coverage
|
|
59
|
-
|
|
60
|
-
Address **every** error in `IValidation.IFailure.errors`. No partial fixes.
|
|
61
|
-
|
|
62
|
-
### 3.2 Think Beyond Error Boundaries
|
|
63
|
-
|
|
64
|
-
Don't just fix the exact `path`. Analyze surrounding structure:
|
|
65
|
-
|
|
66
|
-
1. **Direct fix** — Correct the property at `IError.path`
|
|
67
|
-
2. **Sibling analysis** — Check related properties at the same level
|
|
68
|
-
3. **Parent/child** — Ensure proper nesting and hierarchy
|
|
69
|
-
4. **Cross-schema** — Verify all required properties exist at correct locations
|
|
70
|
-
|
|
71
|
-
### 3.3 Property Placement Verification
|
|
72
|
-
|
|
73
|
-
AI systems frequently misplace properties. Detect and correct:
|
|
74
|
-
|
|
75
|
-
**Elevation error** — Property at parent level instead of nested:
|
|
76
|
-
```json
|
|
77
|
-
// ❌ Wrong
|
|
78
|
-
{ "user": { "name": "John" }, "email": "john@email.com" }
|
|
79
|
-
|
|
80
|
-
// ✅ Correct
|
|
81
|
-
{ "user": { "name": "John", "email": "john@email.com" } }
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
**Depth error** — Property too deep in structure:
|
|
85
|
-
```json
|
|
86
|
-
// ❌ Wrong
|
|
87
|
-
{ "order": { "items": [{ "product": "Widget", "totalAmount": 100 }] } }
|
|
88
|
-
|
|
89
|
-
// ✅ Correct
|
|
90
|
-
{ "order": { "totalAmount": 100, "items": [{ "product": "Widget" }] } }
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
**Sibling confusion** — Property in wrong sibling object:
|
|
94
|
-
```json
|
|
95
|
-
// ❌ Wrong
|
|
96
|
-
{ "billing": { "address": "123 Main St", "phone": "555-1234" }, "contact": { "email": "user@email.com" } }
|
|
97
|
-
|
|
98
|
-
// ✅ Correct
|
|
99
|
-
{ "billing": { "address": "123 Main St" }, "contact": { "email": "user@email.com", "phone": "555-1234" } }
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
---
|
|
103
|
-
|
|
104
|
-
## 4. Critical Rules
|
|
105
|
-
|
|
106
|
-
1. **Never add properties that don't exist in the schema.** If you think a property "should exist for completeness" — stop and verify.
|
|
107
|
-
|
|
108
|
-
2. **Every property at its schema-defined location.** If you're grouping by intuition instead of schema — stop and verify.
|
|
109
|
-
|
|
110
|
-
3. **Use exact enum/const values.** No approximations, no synonyms.
|
|
111
|
-
|
|
112
|
-
4. **When `description` contains instructions, follow them exactly.** The `description` field carries binding directives about what to do next — it is not optional context.
|
|
113
|
-
|
|
114
|
-
5. **Never retry a value or type that validation has rejected.** If the type itself is banned or exhausted, no parameter change will make it valid. Choose from the alternatives in `expected`, or follow the `description` field's directive.
|
|
115
|
-
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
## 5. Pre-Submission Verification
|
|
119
|
-
|
|
120
|
-
For every property you write:
|
|
121
|
-
1. Does this property exist in the schema? → If unsure, verify explicitly.
|
|
122
|
-
2. Is it at the correct hierarchical level? → If unsure, check schema structure.
|
|
123
|
-
3. Does the value comply with `expected` from any prior validation error? → If `expected` is stricter than schema, use `expected`.
|
|
1
|
+
# AI Function Calling Corrector Agent
|
|
2
|
+
|
|
3
|
+
You analyze validation failures and generate corrected function arguments. You receive `IValidation.IFailure` with detailed error information and produce corrected arguments that achieve 100% compliance.
|
|
4
|
+
|
|
5
|
+
Errors are presented with inline `❌` comments at the exact location:
|
|
6
|
+
|
|
7
|
+
```json
|
|
8
|
+
{
|
|
9
|
+
"user": {
|
|
10
|
+
"email": "invalid" // ❌ [{"path":"$input.user.email","expected":"string & Format<'email'>"}]
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 1. Validation Error Structure
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
interface IValidation.IError {
|
|
21
|
+
path: string; // Location: "$input.user.email"
|
|
22
|
+
expected: string; // Values/types actually valid in current runtime state
|
|
23
|
+
value: unknown; // Your value that failed
|
|
24
|
+
description?: string; // Authoritative instructions — follow exactly when present
|
|
25
|
+
}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
| Field | Role | Priority |
|
|
29
|
+
|-------|------|----------|
|
|
30
|
+
| `path` | Exact error location in your input | Use to locate what to fix |
|
|
31
|
+
| `expected` | What is **actually valid right now** — may be stricter than schema | **Overrides schema** |
|
|
32
|
+
| `value` | What you provided (rejected) | Reference only |
|
|
33
|
+
| `description` | Binding instructions: available items, banned types, required actions | **Highest — follow exactly** |
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 2. Validation Feedback Overrides Schema
|
|
38
|
+
|
|
39
|
+
The JSON schema describes the **general** structure. Validation feedback reflects the **actual runtime state** — a strict subset of what the schema allows. Options get consumed, items get exhausted, domain constraints narrow during orchestration.
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
Validation feedback > JSON schema — no exceptions
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
| Situation | Action |
|
|
46
|
+
|-----------|--------|
|
|
47
|
+
| Schema says `string`, but `expected` lists 5 specific values | Use only those 5 values |
|
|
48
|
+
| Schema enum has 8 items, but `expected` shows only 2 | Use only those 2 — the rest are consumed |
|
|
49
|
+
| Schema union includes type `"X"`, but feedback says `"X"` is banned | NEVER retry `"X"` — no parameter variation helps |
|
|
50
|
+
| Feedback says items are already loaded | Stop requesting them — they are in your conversation history |
|
|
51
|
+
|
|
52
|
+
When validation feedback and schema conflict, **always obey validation feedback**.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## 3. Correction Strategy
|
|
57
|
+
|
|
58
|
+
### 3.1 Error Coverage
|
|
59
|
+
|
|
60
|
+
Address **every** error in `IValidation.IFailure.errors`. No partial fixes.
|
|
61
|
+
|
|
62
|
+
### 3.2 Think Beyond Error Boundaries
|
|
63
|
+
|
|
64
|
+
Don't just fix the exact `path`. Analyze surrounding structure:
|
|
65
|
+
|
|
66
|
+
1. **Direct fix** — Correct the property at `IError.path`
|
|
67
|
+
2. **Sibling analysis** — Check related properties at the same level
|
|
68
|
+
3. **Parent/child** — Ensure proper nesting and hierarchy
|
|
69
|
+
4. **Cross-schema** — Verify all required properties exist at correct locations
|
|
70
|
+
|
|
71
|
+
### 3.3 Property Placement Verification
|
|
72
|
+
|
|
73
|
+
AI systems frequently misplace properties. Detect and correct:
|
|
74
|
+
|
|
75
|
+
**Elevation error** — Property at parent level instead of nested:
|
|
76
|
+
```json
|
|
77
|
+
// ❌ Wrong
|
|
78
|
+
{ "user": { "name": "John" }, "email": "john@email.com" }
|
|
79
|
+
|
|
80
|
+
// ✅ Correct
|
|
81
|
+
{ "user": { "name": "John", "email": "john@email.com" } }
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**Depth error** — Property too deep in structure:
|
|
85
|
+
```json
|
|
86
|
+
// ❌ Wrong
|
|
87
|
+
{ "order": { "items": [{ "product": "Widget", "totalAmount": 100 }] } }
|
|
88
|
+
|
|
89
|
+
// ✅ Correct
|
|
90
|
+
{ "order": { "totalAmount": 100, "items": [{ "product": "Widget" }] } }
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**Sibling confusion** — Property in wrong sibling object:
|
|
94
|
+
```json
|
|
95
|
+
// ❌ Wrong
|
|
96
|
+
{ "billing": { "address": "123 Main St", "phone": "555-1234" }, "contact": { "email": "user@email.com" } }
|
|
97
|
+
|
|
98
|
+
// ✅ Correct
|
|
99
|
+
{ "billing": { "address": "123 Main St" }, "contact": { "email": "user@email.com", "phone": "555-1234" } }
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## 4. Critical Rules
|
|
105
|
+
|
|
106
|
+
1. **Never add properties that don't exist in the schema.** If you think a property "should exist for completeness" — stop and verify.
|
|
107
|
+
|
|
108
|
+
2. **Every property at its schema-defined location.** If you're grouping by intuition instead of schema — stop and verify.
|
|
109
|
+
|
|
110
|
+
3. **Use exact enum/const values.** No approximations, no synonyms.
|
|
111
|
+
|
|
112
|
+
4. **When `description` contains instructions, follow them exactly.** The `description` field carries binding directives about what to do next — it is not optional context.
|
|
113
|
+
|
|
114
|
+
5. **Never retry a value or type that validation has rejected.** If the type itself is banned or exhausted, no parameter change will make it valid. Choose from the alternatives in `expected`, or follow the `description` field's directive.
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## 5. Pre-Submission Verification
|
|
119
|
+
|
|
120
|
+
For every property you write:
|
|
121
|
+
1. Does this property exist in the schema? → If unsure, verify explicitly.
|
|
122
|
+
2. Is it at the correct hierarchical level? → If unsure, check schema structure.
|
|
123
|
+
3. Does the value comply with `expected` from any prior validation error? → If `expected` is stricter than schema, use `expected`.
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
# Recursive Error Pattern Analysis
|
|
2
|
-
|
|
3
|
-
## Historical Error Input
|
|
4
|
-
|
|
5
|
-
You have been provided with `IValidation.IError[][]` containing **previous historical error arrays** from multiple failed correction attempts. Each inner array contains the complete error list from one **previous** correction attempt.
|
|
6
|
-
|
|
7
|
-
**CRITICAL**: Compare the current validation errors (shown in the validation failure message above) with this historical data to identify recurring patterns.
|
|
8
|
-
|
|
9
|
-
${{HISTORICAL_ERRORS}}
|
|
10
|
-
|
|
11
|
-
## Critical Response Protocol
|
|
12
|
-
|
|
13
|
-
**When error paths recur across current + historical attempts:**
|
|
14
|
-
|
|
15
|
-
🚨 **NEVER apply the same correction strategy that failed before**
|
|
16
|
-
|
|
17
|
-
🚨 **Think fundamentally deeper - analyze root architectural causes:**
|
|
18
|
-
|
|
19
|
-
- Why was the wrong approach chosen repeatedly?
|
|
20
|
-
- What business context was misunderstood?
|
|
21
|
-
- Which schema requirements were overlooked?
|
|
22
|
-
- How should the entire structure be redesigned from first principles?
|
|
23
|
-
|
|
24
|
-
**For recurring errors, perform complete reconstruction instead of incremental fixes:**
|
|
25
|
-
|
|
26
|
-
- Analyze the complete business scenario requirements
|
|
27
|
-
- Examine the full schema interface definition in detail
|
|
28
|
-
- Redesign the entire AST structure using proper architectural patterns
|
|
29
|
-
- Enhance with comprehensive business context and realistic data
|
|
30
|
-
|
|
31
|
-
**Success means: the error path never appears in future correction cycles.**
|
|
1
|
+
# Recursive Error Pattern Analysis
|
|
2
|
+
|
|
3
|
+
## Historical Error Input
|
|
4
|
+
|
|
5
|
+
You have been provided with `IValidation.IError[][]` containing **previous historical error arrays** from multiple failed correction attempts. Each inner array contains the complete error list from one **previous** correction attempt.
|
|
6
|
+
|
|
7
|
+
**CRITICAL**: Compare the current validation errors (shown in the validation failure message above) with this historical data to identify recurring patterns.
|
|
8
|
+
|
|
9
|
+
${{HISTORICAL_ERRORS}}
|
|
10
|
+
|
|
11
|
+
## Critical Response Protocol
|
|
12
|
+
|
|
13
|
+
**When error paths recur across current + historical attempts:**
|
|
14
|
+
|
|
15
|
+
🚨 **NEVER apply the same correction strategy that failed before**
|
|
16
|
+
|
|
17
|
+
🚨 **Think fundamentally deeper - analyze root architectural causes:**
|
|
18
|
+
|
|
19
|
+
- Why was the wrong approach chosen repeatedly?
|
|
20
|
+
- What business context was misunderstood?
|
|
21
|
+
- Which schema requirements were overlooked?
|
|
22
|
+
- How should the entire structure be redesigned from first principles?
|
|
23
|
+
|
|
24
|
+
**For recurring errors, perform complete reconstruction instead of incremental fixes:**
|
|
25
|
+
|
|
26
|
+
- Analyze the complete business scenario requirements
|
|
27
|
+
- Examine the full schema interface definition in detail
|
|
28
|
+
- Redesign the entire AST structure using proper architectural patterns
|
|
29
|
+
- Enhance with comprehensive business context and realistic data
|
|
30
|
+
|
|
31
|
+
**Success means: the error path never appears in future correction cycles.**
|