@reviewsensei/cli-win32-x64 0.6.16 → 0.6.18
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/README.md +3 -1
- package/bin/_internal/base_library.zip +0 -0
- package/bin/_internal/jsonschema-4.26.0.dist-info/RECORD +1 -1
- package/bin/_internal/review_sensei/schemas/checkpoint-diagnostics.schema.json +89 -0
- package/bin/_internal/review_sensei/schemas/checkpoint-evidence.schema.json +23 -0
- package/bin/_internal/review_sensei/schemas/session-record.schema.json +2 -2
- package/bin/_internal/review_sensei/schemas/verification-scope.schema.json +2 -1
- package/bin/_internal/review_sensei/schemas/work-recovery-artifact.schema.json +156 -0
- package/bin/_internal/{review_sensei-0.6.16.dist-info → review_sensei-0.6.18.dist-info}/METADATA +13 -3
- package/bin/_internal/{review_sensei-0.6.16.dist-info → review_sensei-0.6.18.dist-info}/RECORD +50 -33
- package/bin/review-sensei.exe +0 -0
- package/package.json +12 -4
- /package/bin/_internal/{review_sensei-0.6.16.dist-info → review_sensei-0.6.18.dist-info}/INSTALLER +0 -0
- /package/bin/_internal/{review_sensei-0.6.16.dist-info → review_sensei-0.6.18.dist-info}/REQUESTED +0 -0
- /package/bin/_internal/{review_sensei-0.6.16.dist-info → review_sensei-0.6.18.dist-info}/WHEEL +0 -0
- /package/bin/_internal/{review_sensei-0.6.16.dist-info → review_sensei-0.6.18.dist-info}/direct_url.json +0 -0
- /package/bin/_internal/{review_sensei-0.6.16.dist-info → review_sensei-0.6.18.dist-info}/entry_points.txt +0 -0
- /package/bin/_internal/{review_sensei-0.6.16.dist-info → review_sensei-0.6.18.dist-info}/licenses/LICENSE +0 -0
- /package/bin/_internal/{review_sensei-0.6.16.dist-info → review_sensei-0.6.18.dist-info}/top_level.txt +0 -0
package/README.md
CHANGED
|
@@ -6,10 +6,12 @@ standalone Python engine bundled for Windows x64.
|
|
|
6
6
|
|
|
7
7
|
Install the public launcher, which selects the matching native package:
|
|
8
8
|
|
|
9
|
+
<!-- release-installation:package-npm-1:start -->
|
|
9
10
|
```console
|
|
10
|
-
npm install --save-dev @reviewsensei/cli@0.6.
|
|
11
|
+
npm install --save-dev @reviewsensei/cli@0.6.18
|
|
11
12
|
npx review-sensei --help
|
|
12
13
|
```
|
|
14
|
+
<!-- release-installation:package-npm-1:end -->
|
|
13
15
|
|
|
14
16
|
Use [`@reviewsensei/cli`](https://www.npmjs.com/package/@reviewsensei/cli) for
|
|
15
17
|
installation, provider/model configuration, authentication, and review examples.
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
../../Scripts/jsonschema.exe,sha256=
|
|
1
|
+
../../Scripts/jsonschema.exe,sha256=gUSmwRErxTaaE0O4_Agfb5Ivx_YdDkW42DNlMnZBluQ,108352
|
|
2
2
|
jsonschema-4.26.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
|
3
3
|
jsonschema-4.26.0.dist-info/METADATA,sha256=BbGJhmypipbaOTS_a4NofO0_-FMlJzt34WtwX22LJtI,7592
|
|
4
4
|
jsonschema-4.26.0.dist-info/RECORD,,
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://reviewsensei.dev/schemas/v1/checkpoint-diagnostics.schema.json",
|
|
4
|
+
"title": "ReviewSensei sanitized baseline persistence diagnostics v1",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": [
|
|
8
|
+
"schema_version",
|
|
9
|
+
"reasons",
|
|
10
|
+
"finding_count",
|
|
11
|
+
"reviewed_path_count",
|
|
12
|
+
"related_path_count",
|
|
13
|
+
"encoded_bytes",
|
|
14
|
+
"available_bytes",
|
|
15
|
+
"maximum_identity_or_path_characters",
|
|
16
|
+
"maximum_symbol_characters",
|
|
17
|
+
"maximum_defect_kind_characters",
|
|
18
|
+
"finding_limit",
|
|
19
|
+
"maximum_bytes",
|
|
20
|
+
"identity_or_path_character_limit",
|
|
21
|
+
"symbol_character_limit",
|
|
22
|
+
"defect_kind_character_limit"
|
|
23
|
+
],
|
|
24
|
+
"properties": {
|
|
25
|
+
"schema_version": {
|
|
26
|
+
"const": "1.0"
|
|
27
|
+
},
|
|
28
|
+
"reasons": {
|
|
29
|
+
"type": "array",
|
|
30
|
+
"minItems": 1,
|
|
31
|
+
"maxItems": 3,
|
|
32
|
+
"uniqueItems": true,
|
|
33
|
+
"items": {
|
|
34
|
+
"enum": [
|
|
35
|
+
"finding-count",
|
|
36
|
+
"encoded-bytes",
|
|
37
|
+
"field-width"
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"finding_count": {
|
|
42
|
+
"type": "integer",
|
|
43
|
+
"minimum": 0
|
|
44
|
+
},
|
|
45
|
+
"reviewed_path_count": {
|
|
46
|
+
"type": "integer",
|
|
47
|
+
"minimum": 0
|
|
48
|
+
},
|
|
49
|
+
"related_path_count": {
|
|
50
|
+
"type": "integer",
|
|
51
|
+
"minimum": 0
|
|
52
|
+
},
|
|
53
|
+
"encoded_bytes": {
|
|
54
|
+
"type": "integer",
|
|
55
|
+
"minimum": 0
|
|
56
|
+
},
|
|
57
|
+
"available_bytes": {
|
|
58
|
+
"type": "integer",
|
|
59
|
+
"minimum": 0
|
|
60
|
+
},
|
|
61
|
+
"maximum_identity_or_path_characters": {
|
|
62
|
+
"type": "integer",
|
|
63
|
+
"minimum": 0
|
|
64
|
+
},
|
|
65
|
+
"maximum_symbol_characters": {
|
|
66
|
+
"type": "integer",
|
|
67
|
+
"minimum": 0
|
|
68
|
+
},
|
|
69
|
+
"maximum_defect_kind_characters": {
|
|
70
|
+
"type": "integer",
|
|
71
|
+
"minimum": 0
|
|
72
|
+
},
|
|
73
|
+
"finding_limit": {
|
|
74
|
+
"const": 2
|
|
75
|
+
},
|
|
76
|
+
"maximum_bytes": {
|
|
77
|
+
"const": 11264
|
|
78
|
+
},
|
|
79
|
+
"identity_or_path_character_limit": {
|
|
80
|
+
"const": 256
|
|
81
|
+
},
|
|
82
|
+
"symbol_character_limit": {
|
|
83
|
+
"const": 256
|
|
84
|
+
},
|
|
85
|
+
"defect_kind_character_limit": {
|
|
86
|
+
"const": 128
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://reviewsensei.dev/schemas/v1/checkpoint-evidence.schema.json",
|
|
4
|
+
"title": "ReviewSensei diagnostic evidence (not publication authority) v1",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": [
|
|
8
|
+
"schema_version",
|
|
9
|
+
"publishable",
|
|
10
|
+
"result"
|
|
11
|
+
],
|
|
12
|
+
"properties": {
|
|
13
|
+
"schema_version": {
|
|
14
|
+
"const": "1.0"
|
|
15
|
+
},
|
|
16
|
+
"publishable": {
|
|
17
|
+
"const": false
|
|
18
|
+
},
|
|
19
|
+
"result": {
|
|
20
|
+
"$ref": "https://reviewsensei.dev/schemas/v1/review-result.schema.json"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -143,7 +143,7 @@
|
|
|
143
143
|
},
|
|
144
144
|
"convergence_history": {
|
|
145
145
|
"type": "object",
|
|
146
|
-
"description": "Bounded convergence envelope. The field caps below bound each member; the validation seam additionally rejects
|
|
146
|
+
"description": "Bounded convergence envelope. The field caps below bound each member; the validation seam additionally rejects canonical UTF-8 JSON above 12288 history bytes or 20480 record bytes, which JSON Schema cannot express. Writers allocate less history when the surrounding lifecycle state requires it. Older readers reject expanded records; upgrade all shared-ledger readers before enabling new writes.",
|
|
147
147
|
"additionalProperties": false,
|
|
148
148
|
"required": ["state", "progress", "provenance"],
|
|
149
149
|
"properties": {
|
|
@@ -194,7 +194,7 @@
|
|
|
194
194
|
}
|
|
195
195
|
},
|
|
196
196
|
"reviewed_paths": {"type": "array", "maxItems": 512, "items": {"type": "string", "maxLength": 256}},
|
|
197
|
-
"related_paths": {"type": "array", "maxItems":
|
|
197
|
+
"related_paths": {"type": "array", "maxItems": 64, "items": {"type": "string", "maxLength": 256}}
|
|
198
198
|
}
|
|
199
199
|
},
|
|
200
200
|
"progress": {
|
|
@@ -52,6 +52,7 @@
|
|
|
52
52
|
"incomplete-baseline",
|
|
53
53
|
"missing-baseline",
|
|
54
54
|
"coverage-incomplete",
|
|
55
|
+
"related-context-overflow",
|
|
55
56
|
"ledger-untrusted",
|
|
56
57
|
null
|
|
57
58
|
]
|
|
@@ -63,7 +64,7 @@
|
|
|
63
64
|
},
|
|
64
65
|
"related_paths": {
|
|
65
66
|
"type": "array",
|
|
66
|
-
"maxItems":
|
|
67
|
+
"maxItems": 64,
|
|
67
68
|
"items": { "type": "string", "minLength": 1, "maxLength": 4096 }
|
|
68
69
|
},
|
|
69
70
|
"changed_paths": {
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://reviewsensei.dev/schemas/v2/work-recovery-artifact.schema.json",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"additionalProperties": false,
|
|
6
|
+
"required": [
|
|
7
|
+
"document",
|
|
8
|
+
"authentication"
|
|
9
|
+
],
|
|
10
|
+
"properties": {
|
|
11
|
+
"authentication": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
14
|
+
},
|
|
15
|
+
"document": {
|
|
16
|
+
"type": "object",
|
|
17
|
+
"additionalProperties": false,
|
|
18
|
+
"required": [
|
|
19
|
+
"schema_version",
|
|
20
|
+
"plan",
|
|
21
|
+
"execution_identity",
|
|
22
|
+
"resource_budget",
|
|
23
|
+
"saved_at",
|
|
24
|
+
"expires_at",
|
|
25
|
+
"elapsed_ms",
|
|
26
|
+
"counters",
|
|
27
|
+
"completed",
|
|
28
|
+
"pending",
|
|
29
|
+
"request_digests"
|
|
30
|
+
],
|
|
31
|
+
"properties": {
|
|
32
|
+
"schema_version": {
|
|
33
|
+
"const": "2.0"
|
|
34
|
+
},
|
|
35
|
+
"plan": {
|
|
36
|
+
"type": "object"
|
|
37
|
+
},
|
|
38
|
+
"execution_identity": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"pattern": "^[a-f0-9]{32}$"
|
|
41
|
+
},
|
|
42
|
+
"resource_budget": {
|
|
43
|
+
"type": "object"
|
|
44
|
+
},
|
|
45
|
+
"saved_at": {
|
|
46
|
+
"type": "string",
|
|
47
|
+
"format": "date-time"
|
|
48
|
+
},
|
|
49
|
+
"expires_at": {
|
|
50
|
+
"type": "string",
|
|
51
|
+
"format": "date-time"
|
|
52
|
+
},
|
|
53
|
+
"elapsed_ms": {
|
|
54
|
+
"type": "integer",
|
|
55
|
+
"minimum": 0,
|
|
56
|
+
"maximum": 86400000
|
|
57
|
+
},
|
|
58
|
+
"counters": {
|
|
59
|
+
"type": "object",
|
|
60
|
+
"additionalProperties": false,
|
|
61
|
+
"required": [
|
|
62
|
+
"provider_calls",
|
|
63
|
+
"transport_retries",
|
|
64
|
+
"structural_retries",
|
|
65
|
+
"prompt_bytes",
|
|
66
|
+
"response_bytes"
|
|
67
|
+
],
|
|
68
|
+
"properties": {
|
|
69
|
+
"provider_calls": {
|
|
70
|
+
"type": "integer",
|
|
71
|
+
"minimum": 0,
|
|
72
|
+
"maximum": 8
|
|
73
|
+
},
|
|
74
|
+
"transport_retries": {
|
|
75
|
+
"type": "integer",
|
|
76
|
+
"minimum": 0,
|
|
77
|
+
"maximum": 2
|
|
78
|
+
},
|
|
79
|
+
"structural_retries": {
|
|
80
|
+
"type": "integer",
|
|
81
|
+
"minimum": 0,
|
|
82
|
+
"maximum": 2
|
|
83
|
+
},
|
|
84
|
+
"prompt_bytes": {
|
|
85
|
+
"type": "integer",
|
|
86
|
+
"minimum": 0,
|
|
87
|
+
"maximum": 2097152
|
|
88
|
+
},
|
|
89
|
+
"response_bytes": {
|
|
90
|
+
"type": "integer",
|
|
91
|
+
"minimum": 0,
|
|
92
|
+
"maximum": 1048576
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
"completed": {
|
|
97
|
+
"type": "array",
|
|
98
|
+
"maxItems": 8,
|
|
99
|
+
"items": {
|
|
100
|
+
"type": "object",
|
|
101
|
+
"additionalProperties": false,
|
|
102
|
+
"required": [
|
|
103
|
+
"batch_id",
|
|
104
|
+
"request_digest",
|
|
105
|
+
"result"
|
|
106
|
+
],
|
|
107
|
+
"properties": {
|
|
108
|
+
"batch_id": {
|
|
109
|
+
"type": "string",
|
|
110
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
111
|
+
},
|
|
112
|
+
"request_digest": {
|
|
113
|
+
"type": "string",
|
|
114
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
115
|
+
},
|
|
116
|
+
"result": {
|
|
117
|
+
"type": "object"
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
"pending": {
|
|
123
|
+
"type": "array",
|
|
124
|
+
"maxItems": 40000,
|
|
125
|
+
"items": {
|
|
126
|
+
"type": "array",
|
|
127
|
+
"minItems": 2,
|
|
128
|
+
"maxItems": 2,
|
|
129
|
+
"items": {
|
|
130
|
+
"type": "string",
|
|
131
|
+
"maxLength": 512
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
"request_digests": {
|
|
136
|
+
"type": "object",
|
|
137
|
+
"maxProperties": 8,
|
|
138
|
+
"propertyNames": {
|
|
139
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
140
|
+
},
|
|
141
|
+
"additionalProperties": {
|
|
142
|
+
"anyOf": [
|
|
143
|
+
{
|
|
144
|
+
"type": "string",
|
|
145
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"type": "null"
|
|
149
|
+
}
|
|
150
|
+
]
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
package/bin/_internal/{review_sensei-0.6.16.dist-info → review_sensei-0.6.18.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: review-sensei
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.18
|
|
4
4
|
Summary: Provider-neutral AI code review engine with an Ollama adapter.
|
|
5
5
|
Author: Mohamad Alsabbagh
|
|
6
6
|
License-Expression: MIT
|
|
@@ -135,10 +135,12 @@ replacements by `review-sensei config`.
|
|
|
135
135
|
Node.js 22 or newer can invoke the same Python review engine through the
|
|
136
136
|
provider-neutral `@reviewsensei/cli` launcher:
|
|
137
137
|
|
|
138
|
+
<!-- release-installation:package-npm-1:start -->
|
|
138
139
|
```bash
|
|
139
|
-
npx --yes @reviewsensei/cli@0.6.
|
|
140
|
-
npx --yes @reviewsensei/cli@0.6.
|
|
140
|
+
npx --yes @reviewsensei/cli@0.6.18 --version
|
|
141
|
+
npx --yes @reviewsensei/cli@0.6.18 --help
|
|
141
142
|
```
|
|
143
|
+
<!-- release-installation:package-npm-1:end -->
|
|
142
144
|
|
|
143
145
|
The launcher selects one of the five native packages (macOS arm64/x64,
|
|
144
146
|
glibc Linux arm64/x64, or Windows x64), forwards arguments unchanged, and
|
|
@@ -334,6 +336,14 @@ limits stay in place; opt-in `--orchestrate-large-changes` adds a separate
|
|
|
334
336
|
total-work budget so larger diffs can be chunked without silent truncation or
|
|
335
337
|
unbounded provider calls.
|
|
336
338
|
|
|
339
|
+
Full review and tagged human reassessment can opt into the same evidence planner
|
|
340
|
+
and bounded executor with `advanced.review_work.mode: unified`. This is an
|
|
341
|
+
experimental work mechanism; existing routing remains the default. It batches
|
|
342
|
+
complete required file patches for replies, and whole files or exhaustive parsed
|
|
343
|
+
hunks for discovery. Missing or oversized evidence and failed batches stay
|
|
344
|
+
pending and withhold approval. See [shared review work](docs/shared-review-work.md)
|
|
345
|
+
for budgets, provider qualification and reader-safe rollout.
|
|
346
|
+
|
|
337
347
|
Npm `package-lock.json` and `npm-shrinkwrap.json` changes are reviewed as
|
|
338
348
|
material dependency input. Every original hunk remains in the request; a
|
|
339
349
|
bounded aid identifies visible dependency members with exact diff hashes and
|
package/bin/_internal/{review_sensei-0.6.16.dist-info → review_sensei-0.6.18.dist-info}/RECORD
RENAMED
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
../../Scripts/review-sensei.exe,sha256=
|
|
2
|
-
review_sensei-0.6.
|
|
3
|
-
review_sensei-0.6.
|
|
4
|
-
review_sensei-0.6.
|
|
5
|
-
review_sensei-0.6.
|
|
6
|
-
review_sensei-0.6.
|
|
7
|
-
review_sensei-0.6.
|
|
8
|
-
review_sensei-0.6.
|
|
9
|
-
review_sensei-0.6.
|
|
10
|
-
review_sensei-0.6.
|
|
1
|
+
../../Scripts/review-sensei.exe,sha256=LZGC1hUpTZFzQO7A0aNdKetKdqpZ9g5P1CCL8wjOEPo,108355
|
|
2
|
+
review_sensei-0.6.18.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
|
3
|
+
review_sensei-0.6.18.dist-info/METADATA,sha256=AgRQI3iqbqDJUd6UfAAIirB3NITeihm9HqoSfUetyrI,43199
|
|
4
|
+
review_sensei-0.6.18.dist-info/RECORD,,
|
|
5
|
+
review_sensei-0.6.18.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
|
+
review_sensei-0.6.18.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
|
|
7
|
+
review_sensei-0.6.18.dist-info/direct_url.json,sha256=EDhpXdSFq1qZfl2FCT07Hg2gleInjGFaAwkFy0selqU,67
|
|
8
|
+
review_sensei-0.6.18.dist-info/entry_points.txt,sha256=Eki1ToC6hiOv8PMEAd2Cnbh5WWstVzzzf0XmHBHzpMQ,57
|
|
9
|
+
review_sensei-0.6.18.dist-info/licenses/LICENSE,sha256=-eVBqOV92YK1K76UIcK5MrgUh0EiQMe8xNhSysQE68s,1095
|
|
10
|
+
review_sensei-0.6.18.dist-info/top_level.txt,sha256=VCF4gJIJPP3MPJntoITDjMhJ8MUZfVLj-z3-VUQ9XDY,14
|
|
11
11
|
review_sensei/__init__.py,sha256=hBA7OkQbK_oV4-fDFucVnpsnIut_JK-BbXLTznhg8ao,10524
|
|
12
12
|
review_sensei/__main__.py,sha256=0iDYjdmiXNBinFF23WUyotsdpA6wFKjoB5aw3esTSRg,83
|
|
13
13
|
review_sensei/__pycache__/__init__.cpython-311.pyc,,
|
|
14
14
|
review_sensei/__pycache__/__main__.cpython-311.pyc,,
|
|
15
15
|
review_sensei/__pycache__/baseline.cpython-311.pyc,,
|
|
16
16
|
review_sensei/__pycache__/broker_diagnostics.cpython-311.pyc,,
|
|
17
|
+
review_sensei/__pycache__/budgets.cpython-311.pyc,,
|
|
17
18
|
review_sensei/__pycache__/cli.cpython-311.pyc,,
|
|
18
19
|
review_sensei/__pycache__/concurrency.cpython-311.pyc,,
|
|
19
20
|
review_sensei/__pycache__/configuration.cpython-311.pyc,,
|
|
@@ -24,10 +25,13 @@ review_sensei/__pycache__/coverage.cpython-311.pyc,,
|
|
|
24
25
|
review_sensei/__pycache__/dependencies.cpython-311.pyc,,
|
|
25
26
|
review_sensei/__pycache__/diagnostics.cpython-311.pyc,,
|
|
26
27
|
review_sensei/__pycache__/diff.cpython-311.pyc,,
|
|
28
|
+
review_sensei/__pycache__/discovery_work.cpython-311.pyc,,
|
|
27
29
|
review_sensei/__pycache__/disposition.cpython-311.pyc,,
|
|
28
30
|
review_sensei/__pycache__/document_context.cpython-311.pyc,,
|
|
29
31
|
review_sensei/__pycache__/errors.cpython-311.pyc,,
|
|
30
32
|
review_sensei/__pycache__/evaluation.cpython-311.pyc,,
|
|
33
|
+
review_sensei/__pycache__/evidence.cpython-311.pyc,,
|
|
34
|
+
review_sensei/__pycache__/execution.cpython-311.pyc,,
|
|
31
35
|
review_sensei/__pycache__/hosted.cpython-311.pyc,,
|
|
32
36
|
review_sensei/__pycache__/human_assessment.cpython-311.pyc,,
|
|
33
37
|
review_sensei/__pycache__/learnings.cpython-311.pyc,,
|
|
@@ -39,22 +43,26 @@ review_sensei/__pycache__/placement.cpython-311.pyc,,
|
|
|
39
43
|
review_sensei/__pycache__/planning.cpython-311.pyc,,
|
|
40
44
|
review_sensei/__pycache__/presentation.cpython-311.pyc,,
|
|
41
45
|
review_sensei/__pycache__/provider_config.cpython-311.pyc,,
|
|
46
|
+
review_sensei/__pycache__/reassessment_work.cpython-311.pyc,,
|
|
42
47
|
review_sensei/__pycache__/release_manifest.cpython-311.pyc,,
|
|
43
48
|
review_sensei/__pycache__/schemas.cpython-311.pyc,,
|
|
49
|
+
review_sensei/__pycache__/scope.cpython-311.pyc,,
|
|
44
50
|
review_sensei/__pycache__/sequence.cpython-311.pyc,,
|
|
45
51
|
review_sensei/__pycache__/service.cpython-311.pyc,,
|
|
46
52
|
review_sensei/__pycache__/session.cpython-311.pyc,,
|
|
47
53
|
review_sensei/__pycache__/stages.cpython-311.pyc,,
|
|
48
54
|
review_sensei/__pycache__/validation.cpython-311.pyc,,
|
|
49
55
|
review_sensei/__pycache__/verifier.cpython-311.pyc,,
|
|
56
|
+
review_sensei/__pycache__/work_recovery.cpython-311.pyc,,
|
|
50
57
|
review_sensei/__pycache__/workflow.cpython-311.pyc,,
|
|
51
|
-
review_sensei/baseline.py,sha256=
|
|
58
|
+
review_sensei/baseline.py,sha256=imSE976_aHv4LbtBPuAp5kc5T5EVDM7Pr593T3RcUOw,68841
|
|
52
59
|
review_sensei/broker_diagnostics.py,sha256=F7BAouQwp7kqNGTtJ74RDolYmLw57HHzALvBaLXyi7E,6423
|
|
53
|
-
review_sensei/
|
|
60
|
+
review_sensei/budgets.py,sha256=1KnpAu5e-onex2mDb6OBx7x5nmPD81AtdjSAyjLLyQs,9639
|
|
61
|
+
review_sensei/cli.py,sha256=QEWJBZDUCwIHMW58VcxNRsJ9PL3bR9tDzqzX1RbE-IU,178826
|
|
54
62
|
review_sensei/concurrency.py,sha256=7nqMDNaIl7YoKafkAF1ctXu6D5SFxXosm-1407OKimQ,20097
|
|
55
|
-
review_sensei/configuration.py,sha256=
|
|
56
|
-
review_sensei/context.py,sha256=
|
|
57
|
-
review_sensei/convergence.py,sha256=
|
|
63
|
+
review_sensei/configuration.py,sha256=SQ9IPAV23Vyw_gX_LgbZVWpHN1mXReVLsTZpntOk1rM,92174
|
|
64
|
+
review_sensei/context.py,sha256=kIDGkySUofyOaQlEv6oNW8o6eXYsD0pmRTaNCRh1sk8,101972
|
|
65
|
+
review_sensei/convergence.py,sha256=7pWt_bwLxBskCdrzH41HBM6FJ_3184B8-VAY6d71P-E,51261
|
|
58
66
|
review_sensei/conversation.py,sha256=eD59P1_iH4UAWtd7jQj0LaxNRqm0r1O8Jkqiy31wqoI,7473
|
|
59
67
|
review_sensei/coverage.py,sha256=kJcf0MchFfrHkc-5nFhpqsx3dGGP6O8xdk6I2vNvzXk,13007
|
|
60
68
|
review_sensei/default_categories/01-correctness.json,sha256=ZeTTvEavHU6_ih7JKhv8a6gH-4wRJGv0abckRWNWTfs,211
|
|
@@ -66,10 +74,13 @@ review_sensei/default_stages/01-default-review.json,sha256=-y9LP_8XNqEPpRN2K8z_q
|
|
|
66
74
|
review_sensei/dependencies.py,sha256=OLNAFDMzmdtRVxex0XSpzwVVJl8jkCtUqxEk-0KohbE,5998
|
|
67
75
|
review_sensei/diagnostics.py,sha256=ibG_2tI_VP4gTNM1c5XlAUAohYgSOd-5PZ-6xipbEcI,45613
|
|
68
76
|
review_sensei/diff.py,sha256=na5MWhYcnRimFwGElNBiSp27Su_oufHhWiGtm1W38oY,32057
|
|
77
|
+
review_sensei/discovery_work.py,sha256=IYoyViAJbLAAiiVClVLUY3uqwKM33SZmDn93iuI9Iik,20954
|
|
69
78
|
review_sensei/disposition.py,sha256=vGzMrE5xO71bt4rBiXiPA9e267Dtn1dZAxZjkj_e7jU,22443
|
|
70
79
|
review_sensei/document_context.py,sha256=NZKmt2lAOi8ICFhCemEe15-5i6M6xvh58YwiEok1q1c,20482
|
|
71
80
|
review_sensei/errors.py,sha256=1-JKbLcEodjQMXleJwR-QDzRhMSFwDSe9Oc6Pg1UYmY,2901
|
|
72
81
|
review_sensei/evaluation.py,sha256=kKhbcF3XpHhDYLW8e_dxGjcS0sXJpz8nXYsPpUuXnBE,59450
|
|
82
|
+
review_sensei/evidence.py,sha256=huB64KdjIQug2NRFS9uDNw0HUOJsy67NPg26u_IcA6M,10135
|
|
83
|
+
review_sensei/execution.py,sha256=E7C53idpTM2CGSMXdODswJ1QzAWGonGb9sr-HQDSBWk,15118
|
|
73
84
|
review_sensei/hosted.py,sha256=sYy8tHLhR3xeBJveu1c1YHG8Uk2T8Br_4CdUIFemx24,10374
|
|
74
85
|
review_sensei/hosting/__init__.py,sha256=zqIukHwfUzai3x7dJS2nFNlVhP7EQWQ47-4pGCi2Sz0,84
|
|
75
86
|
review_sensei/hosting/__pycache__/__init__.cpython-311.pyc,,
|
|
@@ -96,13 +107,13 @@ review_sensei/hosting/github/__pycache__/session_ledger.cpython-311.pyc,,
|
|
|
96
107
|
review_sensei/hosting/github/__pycache__/setup.cpython-311.pyc,,
|
|
97
108
|
review_sensei/hosting/github/__pycache__/trigger.cpython-311.pyc,,
|
|
98
109
|
review_sensei/hosting/github/__pycache__/webhooks.cpython-311.pyc,,
|
|
99
|
-
review_sensei/hosting/github/application.py,sha256=
|
|
100
|
-
review_sensei/hosting/github/approval.py,sha256=
|
|
110
|
+
review_sensei/hosting/github/application.py,sha256=QfzrW5I6wQGnHkq0MRA4e1355pNE_MPVfGmUURYZzKg,85275
|
|
111
|
+
review_sensei/hosting/github/approval.py,sha256=COrPk_lV6BdgafUKVFfXUcMdvs8ksSai46MJlkaZB98,24376
|
|
101
112
|
review_sensei/hosting/github/auth.py,sha256=koITagUX9piVboGJ_smEhPsCf4rOQkOqqSKeLKvFRbc,19055
|
|
102
113
|
review_sensei/hosting/github/broker.py,sha256=FFC7DsFhzy1tENXTCmLNuYzX2cHaYsgMkDGwXEcJaTU,18014
|
|
103
114
|
review_sensei/hosting/github/broker_client.py,sha256=askIvbReTUZq9NejQansW8FBdm0jSTctdLzFbEaYSQ0,17500
|
|
104
115
|
review_sensei/hosting/github/checks.py,sha256=7jdUkaHO9UzpeBn8WLhrT-PSz4W6tHVOFU00zXgQbPY,17481
|
|
105
|
-
review_sensei/hosting/github/conversation.py,sha256=
|
|
116
|
+
review_sensei/hosting/github/conversation.py,sha256=OvFS5uHWVZLt8BKqXFfQOkJVhPd12YSpAx65wusw-H4,73429
|
|
106
117
|
review_sensei/hosting/github/errors.py,sha256=KUGHSn1Udl4vVCKPWQ6NfkRmGSQ2YZVhPbyyJdBh63o,5826
|
|
107
118
|
review_sensei/hosting/github/fixtures/__init__.py,sha256=2sBygkvppFJ6F8KV1_MDmbBNl7Yd0oPvYOFG6R_NOpA,82
|
|
108
119
|
review_sensei/hosting/github/fixtures/__pycache__/__init__.cpython-311.pyc,,
|
|
@@ -111,27 +122,27 @@ review_sensei/hosting/github/fixtures/merge-focused-v4-caller.yml,sha256=EGs0F3O
|
|
|
111
122
|
review_sensei/hosting/github/fixtures/merge-focused-v4-config.yml,sha256=4L1UvSucMGJqPh_OwmPgq_lE-nenySkIg7Xogtmk7Us,464
|
|
112
123
|
review_sensei/hosting/github/fixtures/released-v4-resolve-trigger-runner-switch.yml,sha256=09um6w5QmIodLMrbR10z4gdZ3f5AaVj7eqjhQzOfkV8,16194
|
|
113
124
|
review_sensei/hosting/github/fixtures/sensei-only-v5-caller.yml,sha256=n0ZSa1lxTRSw0qsizg8m80E74VCBjkwDO5RAZy1S604,13030
|
|
114
|
-
review_sensei/hosting/github/http.py,sha256=
|
|
115
|
-
review_sensei/hosting/github/human_assessment.py,sha256=
|
|
125
|
+
review_sensei/hosting/github/http.py,sha256=QY45Tv6teZ-2mmk7hjyxbJ80KjBPZ0BeqiCfAi8LA7I,11080
|
|
126
|
+
review_sensei/hosting/github/human_assessment.py,sha256=xHQtK3YcFoIf0dfahiwnEdZN3jZHlzFFw3e-rwigwcA,21786
|
|
116
127
|
review_sensei/hosting/github/jwt.py,sha256=mTakXBxU-GR-hBnIZE-FryfFXwpS9hJ7qb3X7P0FBMo,4582
|
|
117
128
|
review_sensei/hosting/github/learning_pr.py,sha256=hT7FmmpWCnUO5WCQEmP9XioQiceNALxuJCtcZXAQxSU,112424
|
|
118
129
|
review_sensei/hosting/github/observed.py,sha256=Sk0J_kfTBS1je6_YI5-HgGE266zv0_JP1CfvaR7X_zY,36461
|
|
119
130
|
review_sensei/hosting/github/oidc.py,sha256=h3UVcBYQIKy-xQS7Ixv3_fy670mmuBoNKSYurPZWZ60,13310
|
|
120
|
-
review_sensei/hosting/github/publication.py,sha256=
|
|
131
|
+
review_sensei/hosting/github/publication.py,sha256=DfIh-xIW5SSLLsgyaohFVzMV5Q1J9iQJmyl8nQLnlvM,113061
|
|
121
132
|
review_sensei/hosting/github/reservation_recovery.py,sha256=rOa6bVold_eHaJxOv-7E2ZiFHWkipXtu1Jttxxkg3jk,9787
|
|
122
|
-
review_sensei/hosting/github/session_ledger.py,sha256=
|
|
133
|
+
review_sensei/hosting/github/session_ledger.py,sha256=7hlTjDwNBydvDd2EjurdH4VwDIt9aRQUOl8mix4YhIQ,36519
|
|
123
134
|
review_sensei/hosting/github/setup.py,sha256=Lxs1zeGy7wHBCAy1Nl8EISuPma8ZLnGRoObPPT39W6E,120115
|
|
124
135
|
review_sensei/hosting/github/trigger.py,sha256=O4z65mAqgFCnrwuRqGzH5iRzf0WB-AS2VWCGsFKCo4M,10576
|
|
125
136
|
review_sensei/hosting/github/webhooks.py,sha256=7hh_YlF7riV6wov7A_27aOb5g6-Ivob1PBWR4m5bF3I,13662
|
|
126
137
|
review_sensei/hosting/openrouter_workflow.py,sha256=qepVpa12sL6mTaBqTGhcWEaYI8zawcgAYK6sOCRnKtE,1330
|
|
127
|
-
review_sensei/human_assessment.py,sha256=
|
|
138
|
+
review_sensei/human_assessment.py,sha256=d8wOYXudhSMSNXIh-4uw_b3l43PJbO7K1lOih2gMr6s,27226
|
|
128
139
|
review_sensei/learnings.py,sha256=AF9Dqyreb9WQLWLZiciuyRXNviSso6sYVTe2xzx1ZfY,21434
|
|
129
|
-
review_sensei/models.py,sha256=
|
|
140
|
+
review_sensei/models.py,sha256=tB2gDYGuk42ZzDm0WtxLbnECMFcZbixuO_P9Gn2wvP8,94685
|
|
130
141
|
review_sensei/openrouter_qualification.py,sha256=UKUL8oK8oexX1P_othR3y_QAAW0PG2EdAYnWXA-ACZI,30296
|
|
131
|
-
review_sensei/outcomes.py,sha256=
|
|
142
|
+
review_sensei/outcomes.py,sha256=z3Uintn8a31qZk1W1odTXPlfQfwKBDupoHNbMSuHl3w,35590
|
|
132
143
|
review_sensei/patches.py,sha256=P9plsU7-5Z-Jxy8EJBFQX5hX3bcmxBoRJxTnEqA_tbA,15981
|
|
133
144
|
review_sensei/placement.py,sha256=ABioTJwmS4bhyB1M6IdWqyGOx9j1Ge3CeYSKMk9GXSA,6607
|
|
134
|
-
review_sensei/planning.py,sha256=
|
|
145
|
+
review_sensei/planning.py,sha256=ApQ91kJlCM-pArDQ0Dq58lD8LKPDytBrOU-E0KNCNFw,37121
|
|
135
146
|
review_sensei/presentation.py,sha256=xbqLb1OcDwk0wOD_bHVBiRyfO6ZLXq5-PWGdGWG0Zl0,30226
|
|
136
147
|
review_sensei/provider_config.py,sha256=y03TeL6wNsx_9KECr_AhHQkWyWOBOUMnPHzDDyL9AdQ,16382
|
|
137
148
|
review_sensei/providers/__init__.py,sha256=gmfB6gm0QN_FfN3lJJ0kN8QgTtJom4ayzaqUkLmwQwc,779
|
|
@@ -147,13 +158,14 @@ review_sensei/providers/__pycache__/routing.cpython-311.pyc,,
|
|
|
147
158
|
review_sensei/providers/__pycache__/transport.cpython-311.pyc,,
|
|
148
159
|
review_sensei/providers/base.py,sha256=u-z9bQNi3sjPudoDb52czjOmM2YwBX_Kwniopz_LfWI,2009
|
|
149
160
|
review_sensei/providers/fixture.py,sha256=-HXetG6cXpWd5NlF1-RMA3aqyr88YHwYpiyz0Bc6BO8,1554
|
|
150
|
-
review_sensei/providers/ollama.py,sha256=
|
|
151
|
-
review_sensei/providers/openai_compatible.py,sha256=
|
|
152
|
-
review_sensei/providers/openrouter.py,sha256=
|
|
161
|
+
review_sensei/providers/ollama.py,sha256=CtwWFs4OA8035Lg6fdFCU0xzGySrtrXNptzPJ7dmcBI,11174
|
|
162
|
+
review_sensei/providers/openai_compatible.py,sha256=nZYy_xy0dlujJPY-LKaog1MF1SMl8bqq4G59-jBNpJc,19725
|
|
163
|
+
review_sensei/providers/openrouter.py,sha256=bxuibfKD__E8Oyf5m24UI8_fGJGM9DMMNW7Or1LDGF8,23583
|
|
153
164
|
review_sensei/providers/profiles.py,sha256=_vhQPNMBT2x-6AU-xVqM0lqTlT2cTiXMv5xwb5-C2EM,9352
|
|
154
165
|
review_sensei/providers/registry.py,sha256=_YifbpFtgsARRF5l1VJsyQgovJgjrgvB_VLT-SUAE9k,12088
|
|
155
166
|
review_sensei/providers/routing.py,sha256=-EttO963m9Gh3E5hlF72EvyFDN9qMabPmm05b3m5QH0,7064
|
|
156
167
|
review_sensei/providers/transport.py,sha256=9QhvHM33gYE7DbmXNxhfBoVDsa7Hx3audaxzRd_7pS4,2937
|
|
168
|
+
review_sensei/reassessment_work.py,sha256=O2xeQ0-uqf_RyW9ypaiV8YjBjfoV5utM3cHf2eRrDN8,18872
|
|
157
169
|
review_sensei/release_manifest.py,sha256=a7pPhr0YVBCrzC6Q8JC4HiqTD3aBUyTYV4Y0827U5TA,37775
|
|
158
170
|
review_sensei/schemas.py,sha256=DG0Z2VsZUKRaoLNquemWSsGT8XFavUy1ot-W3ADowWw,2736
|
|
159
171
|
review_sensei/schemas/blocker-admission.schema.json,sha256=M3nBzti7M5yAWKFDcsfdJ3TsPbiJrEEn2Zj4yYUDBPQ,2800
|
|
@@ -161,6 +173,8 @@ review_sensei/schemas/broker-diagnostics.json,sha256=x3f4K53EURGK2iZl93u_pU36imq
|
|
|
161
173
|
review_sensei/schemas/canary-binding.schema.json,sha256=065T5GIYG16P9S22HEKrHeRg6unHu8WXedbJxwUYBgk,794
|
|
162
174
|
review_sensei/schemas/candidate-finding.schema.json,sha256=P_FM6pbwdOZGZPAiI_E_ZSmxDfScu2u_2RPzpkdIdmk,1982
|
|
163
175
|
review_sensei/schemas/channel-promotion.schema.json,sha256=LNQgvm6IxntfXrpEnoVz4aL_7_ALo8syiVYEFrfxHYw,1085
|
|
176
|
+
review_sensei/schemas/checkpoint-diagnostics.schema.json,sha256=A3wngPf71ce-RWibvpkIsbrEbdHK0GwzuMth2xZgNvM,2062
|
|
177
|
+
review_sensei/schemas/checkpoint-evidence.schema.json,sha256=ZP-CFmXk--kpFQCZz7-5pB08uU5d3fxdeXkCytewInc,597
|
|
164
178
|
review_sensei/schemas/compatibility-manifest.schema.json,sha256=RIsEo5Os6obelQ078cySd3BHJxGgAySCQg0f0KHRpzY,1858
|
|
165
179
|
review_sensei/schemas/concurrency-plan.schema.json,sha256=YtHPlfShzFPLE4sQMEn7TogW3souwiKC6d4yd-kgFRY,830
|
|
166
180
|
review_sensei/schemas/convergence-sequence-report.schema.json,sha256=e5T1QEepf8k3Zaoilfekt8-Wes9yol8FuHXe8VOAkEU,2412
|
|
@@ -184,14 +198,17 @@ review_sensei/schemas/review-round-decision.schema.json,sha256=d1GOE4RSgNRkvF35k
|
|
|
184
198
|
review_sensei/schemas/review-stage.schema.json,sha256=H5CDiC-ngQXJpVomEvd8YPP1tgyPgwo_k3atK4Vjev0,4707
|
|
185
199
|
review_sensei/schemas/review-transaction.schema.json,sha256=KWtsfa0p0CmPx--cB91XpDizF2Z6N2Ehg5YMlRqJwN8,2215
|
|
186
200
|
review_sensei/schemas/run-outcome.schema.json,sha256=pyByHFmQ8yNFPsLD7wccR5lxsWBwzoxNyD77bjNqeU8,1744
|
|
187
|
-
review_sensei/schemas/session-record.schema.json,sha256=
|
|
201
|
+
review_sensei/schemas/session-record.schema.json,sha256=KraPFMHQdKHcDa6ShFe8CqAHXZClLG4aXCpMWLT5KVo,12976
|
|
188
202
|
review_sensei/schemas/stage.schema.json,sha256=WsxbwZFGpRNCyZ6xzWsAQHf8f7YpJLAh9FKRXN_vlao,2900
|
|
189
203
|
review_sensei/schemas/verification-result.schema.json,sha256=Hf765S-aC1Tk4c7KMWaaSf5DMsg6ogmjnHXcjcHE01k,625
|
|
190
|
-
review_sensei/schemas/verification-scope.schema.json,sha256=
|
|
204
|
+
review_sensei/schemas/verification-scope.schema.json,sha256=qACGMuiiu434cYVvI7akHffIx2lm98bXE1W3D4JWNDk,2178
|
|
205
|
+
review_sensei/schemas/work-recovery-artifact.schema.json,sha256=0xzGv2WlF5unF1P7ySkHeI5HSD23xaAAh9nS-d8GGDo,3968
|
|
206
|
+
review_sensei/scope.py,sha256=nhds_ZB86snKaptKu6Llbt5ggzTR3ft1NhyICouA7BM,3293
|
|
191
207
|
review_sensei/sequence.py,sha256=Mc3ejY8Cmo7xASNAo2vfep9rILb3BgnzH8T9rw8xjRY,23746
|
|
192
|
-
review_sensei/service.py,sha256=
|
|
193
|
-
review_sensei/session.py,sha256=
|
|
208
|
+
review_sensei/service.py,sha256=3h-Vyl4JuExjlup_QTgM41jzFxL9MW6orN8caGvCEqs,76968
|
|
209
|
+
review_sensei/session.py,sha256=4f43X6atsV6umkufKBJCWEr4zwIZtF9K5Qzmw--fDIs,131418
|
|
194
210
|
review_sensei/stages.py,sha256=rMomi3dvKrEl3yiuy2VbX09_bLu8dWD2rblFH8aJ6yI,24256
|
|
195
211
|
review_sensei/validation.py,sha256=euLaI7cxwTCxcpNRh-F8zGz0BQu8GMG3cA3_1_wtdkU,12390
|
|
196
212
|
review_sensei/verifier.py,sha256=_6cbaoXj8R9hatM7fZav-BgfkSPRyJ4ASmQlZbxF5HA,34913
|
|
213
|
+
review_sensei/work_recovery.py,sha256=1d1JFk-MBq_Kk55VNbzpZ-rxqaHgRDJfZ4-4VEOpSac,15611
|
|
197
214
|
review_sensei/workflow.py,sha256=b20eeP9ekbNYGibNCYCcvKSLK7cO3bpCsXiA7y9y33Y,23572
|
package/bin/review-sensei.exe
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reviewsensei/cli-win32-x64",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.18",
|
|
4
4
|
"description": "ReviewSensei AI code review engine for Windows x64; native payload used by @reviewsensei/cli",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "git+https://github.com/malsabbagh/review-sensei.git"
|
|
9
9
|
},
|
|
10
|
-
"os": [
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
"os": [
|
|
11
|
+
"win32"
|
|
12
|
+
],
|
|
13
|
+
"cpu": [
|
|
14
|
+
"x64"
|
|
15
|
+
],
|
|
16
|
+
"files": [
|
|
17
|
+
"bin",
|
|
18
|
+
"README.md",
|
|
19
|
+
"LICENSE"
|
|
20
|
+
]
|
|
13
21
|
}
|
/package/bin/_internal/{review_sensei-0.6.16.dist-info → review_sensei-0.6.18.dist-info}/INSTALLER
RENAMED
|
File without changes
|
/package/bin/_internal/{review_sensei-0.6.16.dist-info → review_sensei-0.6.18.dist-info}/REQUESTED
RENAMED
|
File without changes
|
/package/bin/_internal/{review_sensei-0.6.16.dist-info → review_sensei-0.6.18.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|