@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.
Files changed (72) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +275 -0
  3. package/firedrill/agent.target.json +16 -0
  4. package/firedrill/baseline.scenario.json +5 -0
  5. package/firedrill/conformance.suite.json +21 -0
  6. package/firedrill/overloaded.scenario.json +11 -0
  7. package/firedrill/rate-limited.scenario.json +11 -0
  8. package/firedrill/run-response-lost.scenario.json +11 -0
  9. package/firedrill/small-responses.scenario.json +21 -0
  10. package/firedrill/tight-limits.scenario.json +21 -0
  11. package/firedrill/tools/unstructured/behavior.mjs +69 -0
  12. package/firedrill/tools/unstructured/lib/connectors.mjs +68 -0
  13. package/firedrill/tools/unstructured/lib/errors.mjs +58 -0
  14. package/firedrill/tools/unstructured/lib/gzip.mjs +38 -0
  15. package/firedrill/tools/unstructured/lib/identity.mjs +19 -0
  16. package/firedrill/tools/unstructured/lib/ids.mjs +36 -0
  17. package/firedrill/tools/unstructured/lib/jobs-derive.mjs +92 -0
  18. package/firedrill/tools/unstructured/lib/multipart.mjs +171 -0
  19. package/firedrill/tools/unstructured/lib/pages.mjs +40 -0
  20. package/firedrill/tools/unstructured/lib/partition/chunk.mjs +243 -0
  21. package/firedrill/tools/unstructured/lib/partition/csv.mjs +85 -0
  22. package/firedrill/tools/unstructured/lib/partition/csvout.mjs +25 -0
  23. package/firedrill/tools/unstructured/lib/partition/elements.mjs +171 -0
  24. package/firedrill/tools/unstructured/lib/partition/email.mjs +269 -0
  25. package/firedrill/tools/unstructured/lib/partition/html-tokens.mjs +134 -0
  26. package/firedrill/tools/unstructured/lib/partition/html-util.mjs +99 -0
  27. package/firedrill/tools/unstructured/lib/partition/html.mjs +211 -0
  28. package/firedrill/tools/unstructured/lib/partition/index.mjs +122 -0
  29. package/firedrill/tools/unstructured/lib/partition/markdown.mjs +220 -0
  30. package/firedrill/tools/unstructured/lib/partition/other.mjs +118 -0
  31. package/firedrill/tools/unstructured/lib/partition/text.mjs +53 -0
  32. package/firedrill/tools/unstructured/lib/sha256.mjs +161 -0
  33. package/firedrill/tools/unstructured/lib/store.mjs +33 -0
  34. package/firedrill/tools/unstructured/lib/util.mjs +149 -0
  35. package/firedrill/tools/unstructured/lib/validate.mjs +115 -0
  36. package/firedrill/tools/unstructured/lib/wire-multipart.mjs +78 -0
  37. package/firedrill/tools/unstructured/lib/wire.mjs +154 -0
  38. package/firedrill/tools/unstructured/ops/connectors.mjs +129 -0
  39. package/firedrill/tools/unstructured/ops/jobs.mjs +83 -0
  40. package/firedrill/tools/unstructured/ops/nodes.mjs +107 -0
  41. package/firedrill/tools/unstructured/ops/partition.mjs +112 -0
  42. package/firedrill/tools/unstructured/ops/workflows.mjs +180 -0
  43. package/firedrill/tools/unstructured/unstructured.tool.json +4892 -0
  44. package/firedrill/unstructured-archivist.drill.json +68 -0
  45. package/firedrill/unstructured-chunking.drill.json +67 -0
  46. package/firedrill/unstructured-connectors.drill.json +121 -0
  47. package/firedrill/unstructured-denied.drill.json +58 -0
  48. package/firedrill/unstructured-fresh-actor.drill.json +68 -0
  49. package/firedrill/unstructured-overloaded.drill.json +51 -0
  50. package/firedrill/unstructured-partition-errors.drill.json +66 -0
  51. package/firedrill/unstructured-partition.drill.json +95 -0
  52. package/firedrill/unstructured-rate-limited.drill.json +66 -0
  53. package/firedrill/unstructured-revoked-key.drill.json +773 -0
  54. package/firedrill/unstructured-run-lost.drill.json +51 -0
  55. package/firedrill/unstructured-small-responses.drill.json +173 -0
  56. package/firedrill/unstructured-tight-limits.drill.json +203 -0
  57. package/firedrill/unstructured-workflows-jobs.drill.json +167 -0
  58. package/firedrill/world.json +1556 -0
  59. package/firedrill.json +5 -0
  60. package/package.json +52 -0
  61. package/starter.json +1114 -0
  62. package/test/conformance.mjs +37 -0
  63. package/test/flows/access.mjs +54 -0
  64. package/test/flows/chunking.mjs +95 -0
  65. package/test/flows/connectors.mjs +76 -0
  66. package/test/flows/errors.mjs +115 -0
  67. package/test/flows/faults.mjs +73 -0
  68. package/test/flows/partition.mjs +225 -0
  69. package/test/flows/workflows.mjs +123 -0
  70. package/test/hostile-gen.mjs +0 -0
  71. package/test/hostile.mjs +155 -0
  72. 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
+ }