@firedrill-tools/unstructured 0.1.4
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 +201 -0
- package/README.md +275 -0
- package/firedrill/agent.target.json +16 -0
- package/firedrill/baseline.scenario.json +5 -0
- package/firedrill/conformance.suite.json +21 -0
- package/firedrill/overloaded.scenario.json +11 -0
- package/firedrill/rate-limited.scenario.json +11 -0
- package/firedrill/run-response-lost.scenario.json +11 -0
- package/firedrill/small-responses.scenario.json +21 -0
- package/firedrill/tight-limits.scenario.json +21 -0
- package/firedrill/tools/unstructured/behavior.mjs +69 -0
- package/firedrill/tools/unstructured/lib/connectors.mjs +68 -0
- package/firedrill/tools/unstructured/lib/errors.mjs +58 -0
- package/firedrill/tools/unstructured/lib/gzip.mjs +38 -0
- package/firedrill/tools/unstructured/lib/identity.mjs +19 -0
- package/firedrill/tools/unstructured/lib/ids.mjs +36 -0
- package/firedrill/tools/unstructured/lib/jobs-derive.mjs +92 -0
- package/firedrill/tools/unstructured/lib/multipart.mjs +171 -0
- package/firedrill/tools/unstructured/lib/pages.mjs +40 -0
- package/firedrill/tools/unstructured/lib/partition/chunk.mjs +243 -0
- package/firedrill/tools/unstructured/lib/partition/csv.mjs +85 -0
- package/firedrill/tools/unstructured/lib/partition/csvout.mjs +25 -0
- package/firedrill/tools/unstructured/lib/partition/elements.mjs +171 -0
- package/firedrill/tools/unstructured/lib/partition/email.mjs +269 -0
- package/firedrill/tools/unstructured/lib/partition/html-tokens.mjs +134 -0
- package/firedrill/tools/unstructured/lib/partition/html-util.mjs +99 -0
- package/firedrill/tools/unstructured/lib/partition/html.mjs +211 -0
- package/firedrill/tools/unstructured/lib/partition/index.mjs +122 -0
- package/firedrill/tools/unstructured/lib/partition/markdown.mjs +220 -0
- package/firedrill/tools/unstructured/lib/partition/other.mjs +118 -0
- package/firedrill/tools/unstructured/lib/partition/text.mjs +53 -0
- package/firedrill/tools/unstructured/lib/sha256.mjs +161 -0
- package/firedrill/tools/unstructured/lib/store.mjs +33 -0
- package/firedrill/tools/unstructured/lib/util.mjs +149 -0
- package/firedrill/tools/unstructured/lib/validate.mjs +115 -0
- package/firedrill/tools/unstructured/lib/wire-multipart.mjs +78 -0
- package/firedrill/tools/unstructured/lib/wire.mjs +154 -0
- package/firedrill/tools/unstructured/ops/connectors.mjs +129 -0
- package/firedrill/tools/unstructured/ops/jobs.mjs +83 -0
- package/firedrill/tools/unstructured/ops/nodes.mjs +107 -0
- package/firedrill/tools/unstructured/ops/partition.mjs +112 -0
- package/firedrill/tools/unstructured/ops/workflows.mjs +180 -0
- package/firedrill/tools/unstructured/unstructured.tool.json +4892 -0
- package/firedrill/unstructured-archivist.drill.json +68 -0
- package/firedrill/unstructured-chunking.drill.json +67 -0
- package/firedrill/unstructured-connectors.drill.json +121 -0
- package/firedrill/unstructured-denied.drill.json +58 -0
- package/firedrill/unstructured-fresh-actor.drill.json +68 -0
- package/firedrill/unstructured-overloaded.drill.json +51 -0
- package/firedrill/unstructured-partition-errors.drill.json +66 -0
- package/firedrill/unstructured-partition.drill.json +95 -0
- package/firedrill/unstructured-rate-limited.drill.json +66 -0
- package/firedrill/unstructured-revoked-key.drill.json +773 -0
- package/firedrill/unstructured-run-lost.drill.json +51 -0
- package/firedrill/unstructured-small-responses.drill.json +173 -0
- package/firedrill/unstructured-tight-limits.drill.json +203 -0
- package/firedrill/unstructured-workflows-jobs.drill.json +167 -0
- package/firedrill/world.json +1556 -0
- package/firedrill.json +5 -0
- package/package.json +52 -0
- package/starter.json +1114 -0
- package/test/conformance.mjs +37 -0
- package/test/flows/access.mjs +54 -0
- package/test/flows/chunking.mjs +95 -0
- package/test/flows/connectors.mjs +76 -0
- package/test/flows/errors.mjs +115 -0
- package/test/flows/faults.mjs +73 -0
- package/test/flows/partition.mjs +225 -0
- package/test/flows/workflows.mjs +123 -0
- package/test/hostile-gen.mjs +0 -0
- package/test/hostile.mjs +155 -0
- package/test/lib.mjs +113 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"id": "unstructured-archivist",
|
|
4
|
+
"title": "The archive workspace key sees only its own connectors and workflow; Northgate ids are 404; an empty source cannot run",
|
|
5
|
+
"targetId": "conformance-agent",
|
|
6
|
+
"scenarioId": "baseline",
|
|
7
|
+
"actorId": "archivist",
|
|
8
|
+
"task": {
|
|
9
|
+
"instruction": "Run the archivist flow against the synthetic Unstructured Tool and fail loudly on any unexpected status, header or body."
|
|
10
|
+
},
|
|
11
|
+
"assertions": [
|
|
12
|
+
{
|
|
13
|
+
"id": "jobs-count-36",
|
|
14
|
+
"kind": "state.count",
|
|
15
|
+
"packageId": "unstructured",
|
|
16
|
+
"namespace": "jobs",
|
|
17
|
+
"comparison": {
|
|
18
|
+
"operator": "equals",
|
|
19
|
+
"value": 6
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"id": "workflows-run-tool_error-37",
|
|
24
|
+
"kind": "operation.count",
|
|
25
|
+
"operation": {
|
|
26
|
+
"packageId": "unstructured",
|
|
27
|
+
"operationId": "workflows.run"
|
|
28
|
+
},
|
|
29
|
+
"outcomes": [
|
|
30
|
+
"tool_error"
|
|
31
|
+
],
|
|
32
|
+
"comparison": {
|
|
33
|
+
"operator": "equals",
|
|
34
|
+
"value": 1
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"id": "sources-get-tool_error-38",
|
|
39
|
+
"kind": "operation.count",
|
|
40
|
+
"operation": {
|
|
41
|
+
"packageId": "unstructured",
|
|
42
|
+
"operationId": "sources.get"
|
|
43
|
+
},
|
|
44
|
+
"outcomes": [
|
|
45
|
+
"tool_error"
|
|
46
|
+
],
|
|
47
|
+
"comparison": {
|
|
48
|
+
"operator": "equals",
|
|
49
|
+
"value": 1
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"id": "workflows-create-tool_error-39",
|
|
54
|
+
"kind": "operation.count",
|
|
55
|
+
"operation": {
|
|
56
|
+
"packageId": "unstructured",
|
|
57
|
+
"operationId": "workflows.create"
|
|
58
|
+
},
|
|
59
|
+
"outcomes": [
|
|
60
|
+
"tool_error"
|
|
61
|
+
],
|
|
62
|
+
"comparison": {
|
|
63
|
+
"operator": "equals",
|
|
64
|
+
"value": 1
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"id": "unstructured-chunking",
|
|
4
|
+
"title": "Chunking: basic, overlap, overlap_all, by_title with combine_under_n_chars, by_page, orig_elements gzip round trip, TableChunk, 100,000-character chunks, 20,000 tiny blocks",
|
|
5
|
+
"targetId": "conformance-agent",
|
|
6
|
+
"scenarioId": "baseline",
|
|
7
|
+
"actorId": "analyst",
|
|
8
|
+
"task": {
|
|
9
|
+
"instruction": "Run the chunking flow against the synthetic Unstructured Tool and fail loudly on any unexpected status, header or body."
|
|
10
|
+
},
|
|
11
|
+
"assertions": [
|
|
12
|
+
{
|
|
13
|
+
"id": "general-partition-ok-7",
|
|
14
|
+
"kind": "operation.count",
|
|
15
|
+
"operation": {
|
|
16
|
+
"packageId": "unstructured",
|
|
17
|
+
"operationId": "general.partition"
|
|
18
|
+
},
|
|
19
|
+
"outcomes": [
|
|
20
|
+
"ok"
|
|
21
|
+
],
|
|
22
|
+
"comparison": {
|
|
23
|
+
"operator": "equals",
|
|
24
|
+
"value": 11
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"id": "general-partition-tool_error-8",
|
|
29
|
+
"kind": "operation.count",
|
|
30
|
+
"operation": {
|
|
31
|
+
"packageId": "unstructured",
|
|
32
|
+
"operationId": "general.partition"
|
|
33
|
+
},
|
|
34
|
+
"outcomes": [
|
|
35
|
+
"tool_error"
|
|
36
|
+
],
|
|
37
|
+
"comparison": {
|
|
38
|
+
"operator": "equals",
|
|
39
|
+
"value": 0
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"id": "partition-log-count-9",
|
|
44
|
+
"kind": "state.count",
|
|
45
|
+
"packageId": "unstructured",
|
|
46
|
+
"namespace": "partition-log",
|
|
47
|
+
"comparison": {
|
|
48
|
+
"operator": "equals",
|
|
49
|
+
"value": 11
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"id": "partition-log-value-10",
|
|
54
|
+
"kind": "state.value",
|
|
55
|
+
"packageId": "unstructured",
|
|
56
|
+
"namespace": "partition-log",
|
|
57
|
+
"rowId": "p_0000001000",
|
|
58
|
+
"path": [
|
|
59
|
+
"chunking_strategy"
|
|
60
|
+
],
|
|
61
|
+
"comparison": {
|
|
62
|
+
"operator": "equals",
|
|
63
|
+
"value": "basic"
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
]
|
|
67
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"id": "unstructured-connectors",
|
|
4
|
+
"title": "Sources and destinations: filters, masking, required keys, duplicate keys, updates, connection checks, in-use protection, deletes",
|
|
5
|
+
"targetId": "conformance-agent",
|
|
6
|
+
"scenarioId": "baseline",
|
|
7
|
+
"actorId": "analyst",
|
|
8
|
+
"task": {
|
|
9
|
+
"instruction": "Run the connectors flow against the synthetic Unstructured Tool and fail loudly on any unexpected status, header or body."
|
|
10
|
+
},
|
|
11
|
+
"assertions": [
|
|
12
|
+
{
|
|
13
|
+
"id": "sources-count-15",
|
|
14
|
+
"kind": "state.count",
|
|
15
|
+
"packageId": "unstructured",
|
|
16
|
+
"namespace": "sources",
|
|
17
|
+
"comparison": {
|
|
18
|
+
"operator": "equals",
|
|
19
|
+
"value": 5
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"id": "destinations-count-16",
|
|
24
|
+
"kind": "state.count",
|
|
25
|
+
"packageId": "unstructured",
|
|
26
|
+
"namespace": "destinations",
|
|
27
|
+
"comparison": {
|
|
28
|
+
"operator": "equals",
|
|
29
|
+
"value": 3
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"id": "connection-checks-value-17",
|
|
34
|
+
"kind": "state.value",
|
|
35
|
+
"packageId": "unstructured",
|
|
36
|
+
"namespace": "connection-checks",
|
|
37
|
+
"rowId": "7c1a9e2f-3b4d-4c5e-8f60-a1b2c3d4e501",
|
|
38
|
+
"path": [
|
|
39
|
+
"status"
|
|
40
|
+
],
|
|
41
|
+
"comparison": {
|
|
42
|
+
"operator": "equals",
|
|
43
|
+
"value": "SUCCESS"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"id": "connection-checks-value-18",
|
|
48
|
+
"kind": "state.value",
|
|
49
|
+
"packageId": "unstructured",
|
|
50
|
+
"namespace": "connection-checks",
|
|
51
|
+
"rowId": "7c1a9e2f-3b4d-4c5e-8f60-a1b2c3d4e501",
|
|
52
|
+
"path": [
|
|
53
|
+
"created_at"
|
|
54
|
+
],
|
|
55
|
+
"comparison": {
|
|
56
|
+
"operator": "equals",
|
|
57
|
+
"value": "2026-09-16T09:00:00.000Z"
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"id": "sources-delete-ok-19",
|
|
62
|
+
"kind": "operation.count",
|
|
63
|
+
"operation": {
|
|
64
|
+
"packageId": "unstructured",
|
|
65
|
+
"operationId": "sources.delete"
|
|
66
|
+
},
|
|
67
|
+
"outcomes": [
|
|
68
|
+
"ok"
|
|
69
|
+
],
|
|
70
|
+
"comparison": {
|
|
71
|
+
"operator": "equals",
|
|
72
|
+
"value": 1
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"id": "sources-delete-tool_error-20",
|
|
77
|
+
"kind": "operation.count",
|
|
78
|
+
"operation": {
|
|
79
|
+
"packageId": "unstructured",
|
|
80
|
+
"operationId": "sources.delete"
|
|
81
|
+
},
|
|
82
|
+
"outcomes": [
|
|
83
|
+
"tool_error"
|
|
84
|
+
],
|
|
85
|
+
"comparison": {
|
|
86
|
+
"operator": "equals",
|
|
87
|
+
"value": 2
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"id": "destinations-delete-ok-21",
|
|
92
|
+
"kind": "operation.count",
|
|
93
|
+
"operation": {
|
|
94
|
+
"packageId": "unstructured",
|
|
95
|
+
"operationId": "destinations.delete"
|
|
96
|
+
},
|
|
97
|
+
"outcomes": [
|
|
98
|
+
"ok"
|
|
99
|
+
],
|
|
100
|
+
"comparison": {
|
|
101
|
+
"operator": "equals",
|
|
102
|
+
"value": 1
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"id": "sources-check-connection-ok-22",
|
|
107
|
+
"kind": "operation.count",
|
|
108
|
+
"operation": {
|
|
109
|
+
"packageId": "unstructured",
|
|
110
|
+
"operationId": "sources.check_connection"
|
|
111
|
+
},
|
|
112
|
+
"outcomes": [
|
|
113
|
+
"ok"
|
|
114
|
+
],
|
|
115
|
+
"comparison": {
|
|
116
|
+
"operator": "equals",
|
|
117
|
+
"value": 1
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
]
|
|
121
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"id": "unstructured-denied",
|
|
4
|
+
"title": "An actor without grants is denied by the framework; the codec renders the denial in the detail envelope",
|
|
5
|
+
"targetId": "conformance-agent",
|
|
6
|
+
"scenarioId": "baseline",
|
|
7
|
+
"actorId": "no-grants",
|
|
8
|
+
"task": {
|
|
9
|
+
"instruction": "Run the denied flow against the synthetic Unstructured Tool and fail loudly on any unexpected status, header or body."
|
|
10
|
+
},
|
|
11
|
+
"assertions": [
|
|
12
|
+
{
|
|
13
|
+
"id": "sources-list-denied-91",
|
|
14
|
+
"kind": "operation.count",
|
|
15
|
+
"operation": {
|
|
16
|
+
"packageId": "unstructured",
|
|
17
|
+
"operationId": "sources.list"
|
|
18
|
+
},
|
|
19
|
+
"outcomes": [
|
|
20
|
+
"denied"
|
|
21
|
+
],
|
|
22
|
+
"comparison": {
|
|
23
|
+
"operator": "greater_than_or_equal",
|
|
24
|
+
"value": 2
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"id": "general-partition-denied-92",
|
|
29
|
+
"kind": "operation.count",
|
|
30
|
+
"operation": {
|
|
31
|
+
"packageId": "unstructured",
|
|
32
|
+
"operationId": "general.partition"
|
|
33
|
+
},
|
|
34
|
+
"outcomes": [
|
|
35
|
+
"denied"
|
|
36
|
+
],
|
|
37
|
+
"comparison": {
|
|
38
|
+
"operator": "equals",
|
|
39
|
+
"value": 1
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"id": "sources-list-ok-93",
|
|
44
|
+
"kind": "operation.count",
|
|
45
|
+
"operation": {
|
|
46
|
+
"packageId": "unstructured",
|
|
47
|
+
"operationId": "sources.list"
|
|
48
|
+
},
|
|
49
|
+
"outcomes": [
|
|
50
|
+
"ok"
|
|
51
|
+
],
|
|
52
|
+
"comparison": {
|
|
53
|
+
"operator": "equals",
|
|
54
|
+
"value": 0
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"id": "unstructured-fresh-actor",
|
|
4
|
+
"title": "An actor without identity attributes (as `firedrill tool add` creates it) sees the seeded account and can partition",
|
|
5
|
+
"targetId": "conformance-agent",
|
|
6
|
+
"scenarioId": "baseline",
|
|
7
|
+
"actorId": "fresh",
|
|
8
|
+
"task": {
|
|
9
|
+
"instruction": "Run the fresh flow against the synthetic Unstructured Tool and fail loudly on any unexpected status, header or body."
|
|
10
|
+
},
|
|
11
|
+
"assertions": [
|
|
12
|
+
{
|
|
13
|
+
"id": "partition-log-count-32",
|
|
14
|
+
"kind": "state.count",
|
|
15
|
+
"packageId": "unstructured",
|
|
16
|
+
"namespace": "partition-log",
|
|
17
|
+
"comparison": {
|
|
18
|
+
"operator": "equals",
|
|
19
|
+
"value": 1
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"id": "sources-list-ok-33",
|
|
24
|
+
"kind": "operation.count",
|
|
25
|
+
"operation": {
|
|
26
|
+
"packageId": "unstructured",
|
|
27
|
+
"operationId": "sources.list"
|
|
28
|
+
},
|
|
29
|
+
"outcomes": [
|
|
30
|
+
"ok"
|
|
31
|
+
],
|
|
32
|
+
"comparison": {
|
|
33
|
+
"operator": "equals",
|
|
34
|
+
"value": 1
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"id": "jobs-list-ok-34",
|
|
39
|
+
"kind": "operation.count",
|
|
40
|
+
"operation": {
|
|
41
|
+
"packageId": "unstructured",
|
|
42
|
+
"operationId": "jobs.list"
|
|
43
|
+
},
|
|
44
|
+
"outcomes": [
|
|
45
|
+
"ok"
|
|
46
|
+
],
|
|
47
|
+
"comparison": {
|
|
48
|
+
"operator": "equals",
|
|
49
|
+
"value": 1
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"id": "general-partition-ok-35",
|
|
54
|
+
"kind": "operation.count",
|
|
55
|
+
"operation": {
|
|
56
|
+
"packageId": "unstructured",
|
|
57
|
+
"operationId": "general.partition"
|
|
58
|
+
},
|
|
59
|
+
"outcomes": [
|
|
60
|
+
"ok"
|
|
61
|
+
],
|
|
62
|
+
"comparison": {
|
|
63
|
+
"operator": "equals",
|
|
64
|
+
"value": 1
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"id": "unstructured-overloaded",
|
|
4
|
+
"title": "general.partition answers 503 with the open server's text under the partition-overloaded fault",
|
|
5
|
+
"targetId": "conformance-agent",
|
|
6
|
+
"scenarioId": "overloaded",
|
|
7
|
+
"actorId": "analyst",
|
|
8
|
+
"task": {
|
|
9
|
+
"instruction": "Run the overloaded flow against the synthetic Unstructured Tool and fail loudly on any unexpected status, header or body."
|
|
10
|
+
},
|
|
11
|
+
"assertions": [
|
|
12
|
+
{
|
|
13
|
+
"id": "general-partition-tool_error-98",
|
|
14
|
+
"kind": "operation.count",
|
|
15
|
+
"operation": {
|
|
16
|
+
"packageId": "unstructured",
|
|
17
|
+
"operationId": "general.partition"
|
|
18
|
+
},
|
|
19
|
+
"outcomes": [
|
|
20
|
+
"tool_error"
|
|
21
|
+
],
|
|
22
|
+
"comparison": {
|
|
23
|
+
"operator": "equals",
|
|
24
|
+
"value": 2
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"id": "partition-log-count-99",
|
|
29
|
+
"kind": "state.count",
|
|
30
|
+
"packageId": "unstructured",
|
|
31
|
+
"namespace": "partition-log",
|
|
32
|
+
"comparison": {
|
|
33
|
+
"operator": "equals",
|
|
34
|
+
"value": 0
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"id": "partition-completed-events-100",
|
|
39
|
+
"kind": "event.count",
|
|
40
|
+
"event": {
|
|
41
|
+
"packageId": "unstructured",
|
|
42
|
+
"eventId": "partition.completed"
|
|
43
|
+
},
|
|
44
|
+
"phase": "emitted",
|
|
45
|
+
"comparison": {
|
|
46
|
+
"operator": "equals",
|
|
47
|
+
"value": 0
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"id": "unstructured-partition-errors",
|
|
4
|
+
"title": "Every partition error envelope: 400 provider texts, 422 field errors, 413 response budget, codec-level multipart problems; failures log nothing",
|
|
5
|
+
"targetId": "conformance-agent",
|
|
6
|
+
"scenarioId": "baseline",
|
|
7
|
+
"actorId": "analyst",
|
|
8
|
+
"task": {
|
|
9
|
+
"instruction": "Run the errors flow against the synthetic Unstructured Tool and fail loudly on any unexpected status, header or body."
|
|
10
|
+
},
|
|
11
|
+
"assertions": [
|
|
12
|
+
{
|
|
13
|
+
"id": "general-partition-tool_error-11",
|
|
14
|
+
"kind": "operation.count",
|
|
15
|
+
"operation": {
|
|
16
|
+
"packageId": "unstructured",
|
|
17
|
+
"operationId": "general.partition"
|
|
18
|
+
},
|
|
19
|
+
"outcomes": [
|
|
20
|
+
"tool_error"
|
|
21
|
+
],
|
|
22
|
+
"comparison": {
|
|
23
|
+
"operator": "greater_than_or_equal",
|
|
24
|
+
"value": 20
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"id": "general-partition-ok-12",
|
|
29
|
+
"kind": "operation.count",
|
|
30
|
+
"operation": {
|
|
31
|
+
"packageId": "unstructured",
|
|
32
|
+
"operationId": "general.partition"
|
|
33
|
+
},
|
|
34
|
+
"outcomes": [
|
|
35
|
+
"ok"
|
|
36
|
+
],
|
|
37
|
+
"comparison": {
|
|
38
|
+
"operator": "equals",
|
|
39
|
+
"value": 1
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"id": "partition-log-count-13",
|
|
44
|
+
"kind": "state.count",
|
|
45
|
+
"packageId": "unstructured",
|
|
46
|
+
"namespace": "partition-log",
|
|
47
|
+
"comparison": {
|
|
48
|
+
"operator": "equals",
|
|
49
|
+
"value": 1
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"id": "partition-completed-events-14",
|
|
54
|
+
"kind": "event.count",
|
|
55
|
+
"event": {
|
|
56
|
+
"packageId": "unstructured",
|
|
57
|
+
"eventId": "partition.completed"
|
|
58
|
+
},
|
|
59
|
+
"phase": "emitted",
|
|
60
|
+
"comparison": {
|
|
61
|
+
"operator": "equals",
|
|
62
|
+
"value": 1
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
]
|
|
66
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"id": "unstructured-partition",
|
|
4
|
+
"title": "Partition every seeded document type: element rules, ids, pages, multi-file, CSV output, canonical call, multipart e-mail, hostile Markdown/HTML, hostile-input harness slice",
|
|
5
|
+
"targetId": "conformance-agent",
|
|
6
|
+
"scenarioId": "baseline",
|
|
7
|
+
"actorId": "analyst",
|
|
8
|
+
"task": {
|
|
9
|
+
"instruction": "Run the partition flow against the synthetic Unstructured Tool and fail loudly on any unexpected status, header or body."
|
|
10
|
+
},
|
|
11
|
+
"assertions": [
|
|
12
|
+
{
|
|
13
|
+
"id": "general-partition-ok-1",
|
|
14
|
+
"kind": "operation.count",
|
|
15
|
+
"operation": {
|
|
16
|
+
"packageId": "unstructured",
|
|
17
|
+
"operationId": "general.partition"
|
|
18
|
+
},
|
|
19
|
+
"outcomes": [
|
|
20
|
+
"ok"
|
|
21
|
+
],
|
|
22
|
+
"comparison": {
|
|
23
|
+
"operator": "equals",
|
|
24
|
+
"value": 32
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"id": "partition-log-count-2",
|
|
29
|
+
"kind": "state.count",
|
|
30
|
+
"packageId": "unstructured",
|
|
31
|
+
"namespace": "partition-log",
|
|
32
|
+
"comparison": {
|
|
33
|
+
"operator": "equals",
|
|
34
|
+
"value": 32
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"id": "partition-completed-events-3",
|
|
39
|
+
"kind": "event.count",
|
|
40
|
+
"event": {
|
|
41
|
+
"packageId": "unstructured",
|
|
42
|
+
"eventId": "partition.completed"
|
|
43
|
+
},
|
|
44
|
+
"phase": "emitted",
|
|
45
|
+
"comparison": {
|
|
46
|
+
"operator": "equals",
|
|
47
|
+
"value": 32
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"id": "partition-log-value-4",
|
|
52
|
+
"kind": "state.value",
|
|
53
|
+
"packageId": "unstructured",
|
|
54
|
+
"namespace": "partition-log",
|
|
55
|
+
"rowId": "p_0000001000",
|
|
56
|
+
"path": [
|
|
57
|
+
"filenames",
|
|
58
|
+
0
|
|
59
|
+
],
|
|
60
|
+
"comparison": {
|
|
61
|
+
"operator": "equals",
|
|
62
|
+
"value": "handbook.md"
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"id": "partition-log-value-5",
|
|
67
|
+
"kind": "state.value",
|
|
68
|
+
"packageId": "unstructured",
|
|
69
|
+
"namespace": "partition-log",
|
|
70
|
+
"rowId": "p_0000001000",
|
|
71
|
+
"path": [
|
|
72
|
+
"strategy"
|
|
73
|
+
],
|
|
74
|
+
"comparison": {
|
|
75
|
+
"operator": "equals",
|
|
76
|
+
"value": "auto"
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"id": "partition-log-value-6",
|
|
81
|
+
"kind": "state.value",
|
|
82
|
+
"packageId": "unstructured",
|
|
83
|
+
"namespace": "partition-log",
|
|
84
|
+
"rowId": "p_0000001002",
|
|
85
|
+
"path": [
|
|
86
|
+
"filetypes",
|
|
87
|
+
0
|
|
88
|
+
],
|
|
89
|
+
"comparison": {
|
|
90
|
+
"operator": "equals",
|
|
91
|
+
"value": "text/plain"
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
]
|
|
95
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"id": "unstructured-rate-limited",
|
|
4
|
+
"title": "general.partition answers 429 with Retry-After: 1 under the partition-rate-limited fault; nothing is logged",
|
|
5
|
+
"targetId": "conformance-agent",
|
|
6
|
+
"scenarioId": "rate-limited",
|
|
7
|
+
"actorId": "analyst",
|
|
8
|
+
"task": {
|
|
9
|
+
"instruction": "Run the rate-limited flow against the synthetic Unstructured Tool and fail loudly on any unexpected status, header or body."
|
|
10
|
+
},
|
|
11
|
+
"assertions": [
|
|
12
|
+
{
|
|
13
|
+
"id": "general-partition-tool_error-94",
|
|
14
|
+
"kind": "operation.count",
|
|
15
|
+
"operation": {
|
|
16
|
+
"packageId": "unstructured",
|
|
17
|
+
"operationId": "general.partition"
|
|
18
|
+
},
|
|
19
|
+
"outcomes": [
|
|
20
|
+
"tool_error"
|
|
21
|
+
],
|
|
22
|
+
"comparison": {
|
|
23
|
+
"operator": "equals",
|
|
24
|
+
"value": 2
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"id": "general-partition-ok-95",
|
|
29
|
+
"kind": "operation.count",
|
|
30
|
+
"operation": {
|
|
31
|
+
"packageId": "unstructured",
|
|
32
|
+
"operationId": "general.partition"
|
|
33
|
+
},
|
|
34
|
+
"outcomes": [
|
|
35
|
+
"ok"
|
|
36
|
+
],
|
|
37
|
+
"comparison": {
|
|
38
|
+
"operator": "equals",
|
|
39
|
+
"value": 0
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"id": "partition-log-count-96",
|
|
44
|
+
"kind": "state.count",
|
|
45
|
+
"packageId": "unstructured",
|
|
46
|
+
"namespace": "partition-log",
|
|
47
|
+
"comparison": {
|
|
48
|
+
"operator": "equals",
|
|
49
|
+
"value": 0
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"id": "partition-completed-events-97",
|
|
54
|
+
"kind": "event.count",
|
|
55
|
+
"event": {
|
|
56
|
+
"packageId": "unstructured",
|
|
57
|
+
"eventId": "partition.completed"
|
|
58
|
+
},
|
|
59
|
+
"phase": "emitted",
|
|
60
|
+
"comparison": {
|
|
61
|
+
"operator": "equals",
|
|
62
|
+
"value": 0
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
]
|
|
66
|
+
}
|