@reviewsensei/cli-win32-x64 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +4 -0
  3. package/bin/_internal/VCRUNTIME140.dll +0 -0
  4. package/bin/_internal/_asyncio.pyd +0 -0
  5. package/bin/_internal/_bz2.pyd +0 -0
  6. package/bin/_internal/_cffi_backend.cp311-win_amd64.pyd +0 -0
  7. package/bin/_internal/_ctypes.pyd +0 -0
  8. package/bin/_internal/_decimal.pyd +0 -0
  9. package/bin/_internal/_hashlib.pyd +0 -0
  10. package/bin/_internal/_lzma.pyd +0 -0
  11. package/bin/_internal/_multiprocessing.pyd +0 -0
  12. package/bin/_internal/_overlapped.pyd +0 -0
  13. package/bin/_internal/_queue.pyd +0 -0
  14. package/bin/_internal/_socket.pyd +0 -0
  15. package/bin/_internal/_ssl.pyd +0 -0
  16. package/bin/_internal/_uuid.pyd +0 -0
  17. package/bin/_internal/api-ms-win-core-console-l1-1-0.dll +0 -0
  18. package/bin/_internal/api-ms-win-core-datetime-l1-1-0.dll +0 -0
  19. package/bin/_internal/api-ms-win-core-debug-l1-1-0.dll +0 -0
  20. package/bin/_internal/api-ms-win-core-errorhandling-l1-1-0.dll +0 -0
  21. package/bin/_internal/api-ms-win-core-fibers-l1-1-0.dll +0 -0
  22. package/bin/_internal/api-ms-win-core-fibers-l1-1-1.dll +0 -0
  23. package/bin/_internal/api-ms-win-core-file-l1-1-0.dll +0 -0
  24. package/bin/_internal/api-ms-win-core-file-l1-2-0.dll +0 -0
  25. package/bin/_internal/api-ms-win-core-file-l2-1-0.dll +0 -0
  26. package/bin/_internal/api-ms-win-core-handle-l1-1-0.dll +0 -0
  27. package/bin/_internal/api-ms-win-core-heap-l1-1-0.dll +0 -0
  28. package/bin/_internal/api-ms-win-core-interlocked-l1-1-0.dll +0 -0
  29. package/bin/_internal/api-ms-win-core-kernel32-legacy-l1-1-1.dll +0 -0
  30. package/bin/_internal/api-ms-win-core-libraryloader-l1-1-0.dll +0 -0
  31. package/bin/_internal/api-ms-win-core-localization-l1-2-0.dll +0 -0
  32. package/bin/_internal/api-ms-win-core-memory-l1-1-0.dll +0 -0
  33. package/bin/_internal/api-ms-win-core-namedpipe-l1-1-0.dll +0 -0
  34. package/bin/_internal/api-ms-win-core-processenvironment-l1-1-0.dll +0 -0
  35. package/bin/_internal/api-ms-win-core-processthreads-l1-1-0.dll +0 -0
  36. package/bin/_internal/api-ms-win-core-processthreads-l1-1-1.dll +0 -0
  37. package/bin/_internal/api-ms-win-core-profile-l1-1-0.dll +0 -0
  38. package/bin/_internal/api-ms-win-core-rtlsupport-l1-1-0.dll +0 -0
  39. package/bin/_internal/api-ms-win-core-string-l1-1-0.dll +0 -0
  40. package/bin/_internal/api-ms-win-core-synch-l1-1-0.dll +0 -0
  41. package/bin/_internal/api-ms-win-core-synch-l1-2-0.dll +0 -0
  42. package/bin/_internal/api-ms-win-core-sysinfo-l1-1-0.dll +0 -0
  43. package/bin/_internal/api-ms-win-core-sysinfo-l1-2-0.dll +0 -0
  44. package/bin/_internal/api-ms-win-core-timezone-l1-1-0.dll +0 -0
  45. package/bin/_internal/api-ms-win-core-util-l1-1-0.dll +0 -0
  46. package/bin/_internal/api-ms-win-crt-conio-l1-1-0.dll +0 -0
  47. package/bin/_internal/api-ms-win-crt-convert-l1-1-0.dll +0 -0
  48. package/bin/_internal/api-ms-win-crt-environment-l1-1-0.dll +0 -0
  49. package/bin/_internal/api-ms-win-crt-filesystem-l1-1-0.dll +0 -0
  50. package/bin/_internal/api-ms-win-crt-heap-l1-1-0.dll +0 -0
  51. package/bin/_internal/api-ms-win-crt-locale-l1-1-0.dll +0 -0
  52. package/bin/_internal/api-ms-win-crt-math-l1-1-0.dll +0 -0
  53. package/bin/_internal/api-ms-win-crt-process-l1-1-0.dll +0 -0
  54. package/bin/_internal/api-ms-win-crt-runtime-l1-1-0.dll +0 -0
  55. package/bin/_internal/api-ms-win-crt-stdio-l1-1-0.dll +0 -0
  56. package/bin/_internal/api-ms-win-crt-string-l1-1-0.dll +0 -0
  57. package/bin/_internal/api-ms-win-crt-time-l1-1-0.dll +0 -0
  58. package/bin/_internal/api-ms-win-crt-utility-l1-1-0.dll +0 -0
  59. package/bin/_internal/attrs-26.1.0.dist-info/INSTALLER +1 -0
  60. package/bin/_internal/attrs-26.1.0.dist-info/METADATA +199 -0
  61. package/bin/_internal/attrs-26.1.0.dist-info/RECORD +55 -0
  62. package/bin/_internal/attrs-26.1.0.dist-info/WHEEL +4 -0
  63. package/bin/_internal/attrs-26.1.0.dist-info/licenses/LICENSE +21 -0
  64. package/bin/_internal/base_library.zip +0 -0
  65. package/bin/_internal/cryptography/hazmat/bindings/_rust.pyd +0 -0
  66. package/bin/_internal/cryptography-50.0.1.dist-info/INSTALLER +1 -0
  67. package/bin/_internal/cryptography-50.0.1.dist-info/METADATA +110 -0
  68. package/bin/_internal/cryptography-50.0.1.dist-info/RECORD +199 -0
  69. package/bin/_internal/cryptography-50.0.1.dist-info/WHEEL +4 -0
  70. package/bin/_internal/cryptography-50.0.1.dist-info/licenses/LICENSE +3 -0
  71. package/bin/_internal/cryptography-50.0.1.dist-info/licenses/LICENSE.APACHE +202 -0
  72. package/bin/_internal/cryptography-50.0.1.dist-info/licenses/LICENSE.BSD +27 -0
  73. package/bin/_internal/cryptography-50.0.1.dist-info/sboms/cryptography-rust.cyclonedx.json +1365 -0
  74. package/bin/_internal/cryptography-50.0.1.dist-info/sboms/sbom.json +43 -0
  75. package/bin/_internal/jsonschema/benchmarks/issue232/issue.json +2653 -0
  76. package/bin/_internal/jsonschema-4.26.0.dist-info/INSTALLER +1 -0
  77. package/bin/_internal/jsonschema-4.26.0.dist-info/METADATA +170 -0
  78. package/bin/_internal/jsonschema-4.26.0.dist-info/RECORD +82 -0
  79. package/bin/_internal/jsonschema-4.26.0.dist-info/WHEEL +4 -0
  80. package/bin/_internal/jsonschema-4.26.0.dist-info/entry_points.txt +2 -0
  81. package/bin/_internal/jsonschema-4.26.0.dist-info/licenses/COPYING +19 -0
  82. package/bin/_internal/jsonschema_specifications/schemas/draft201909/metaschema.json +42 -0
  83. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/applicator +56 -0
  84. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/content +17 -0
  85. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/core +57 -0
  86. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/format +14 -0
  87. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/meta-data +37 -0
  88. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/validation +98 -0
  89. package/bin/_internal/jsonschema_specifications/schemas/draft202012/metaschema.json +58 -0
  90. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/applicator +48 -0
  91. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/content +17 -0
  92. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/core +51 -0
  93. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/format-annotation +14 -0
  94. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/format-assertion +14 -0
  95. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/meta-data +37 -0
  96. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/unevaluated +15 -0
  97. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/validation +98 -0
  98. package/bin/_internal/jsonschema_specifications/schemas/draft3/metaschema.json +172 -0
  99. package/bin/_internal/jsonschema_specifications/schemas/draft4/metaschema.json +149 -0
  100. package/bin/_internal/jsonschema_specifications/schemas/draft6/metaschema.json +153 -0
  101. package/bin/_internal/jsonschema_specifications/schemas/draft7/metaschema.json +166 -0
  102. package/bin/_internal/libcrypto-3.dll +0 -0
  103. package/bin/_internal/libffi-8.dll +0 -0
  104. package/bin/_internal/libssl-3.dll +0 -0
  105. package/bin/_internal/pyexpat.pyd +0 -0
  106. package/bin/_internal/python3.dll +0 -0
  107. package/bin/_internal/python311.dll +0 -0
  108. package/bin/_internal/review_sensei/default_categories/01-correctness.json +8 -0
  109. package/bin/_internal/review_sensei/default_categories/02-security.json +8 -0
  110. package/bin/_internal/review_sensei/default_categories/03-architecture.json +24 -0
  111. package/bin/_internal/review_sensei/default_categories/03-maintainability.json +8 -0
  112. package/bin/_internal/review_sensei/default_categories/04-tests.json +8 -0
  113. package/bin/_internal/review_sensei/default_stages/01-default-review.json +16 -0
  114. package/bin/_internal/review_sensei/schemas/concurrency-plan.schema.json +26 -0
  115. package/bin/_internal/review_sensei/schemas/conversation-reply.schema.json +16 -0
  116. package/bin/_internal/review_sensei/schemas/evaluation-corpus.schema.json +316 -0
  117. package/bin/_internal/review_sensei/schemas/evaluation-report.schema.json +371 -0
  118. package/bin/_internal/review_sensei/schemas/learning-entry.schema.json +37 -0
  119. package/bin/_internal/review_sensei/schemas/learning-proposal.schema.json +19 -0
  120. package/bin/_internal/review_sensei/schemas/review-category.schema.json +77 -0
  121. package/bin/_internal/review_sensei/schemas/review-comment.schema.json +16 -0
  122. package/bin/_internal/review_sensei/schemas/review-result.schema.json +53 -0
  123. package/bin/_internal/review_sensei/schemas/review-stage.schema.json +154 -0
  124. package/bin/_internal/review_sensei/schemas/stage.schema.json +88 -0
  125. package/bin/_internal/review_sensei-0.1.0.dist-info/INSTALLER +1 -0
  126. package/bin/_internal/review_sensei-0.1.0.dist-info/METADATA +542 -0
  127. package/bin/_internal/review_sensei-0.1.0.dist-info/RECORD +103 -0
  128. package/bin/_internal/review_sensei-0.1.0.dist-info/REQUESTED +0 -0
  129. package/bin/_internal/review_sensei-0.1.0.dist-info/WHEEL +5 -0
  130. package/bin/_internal/review_sensei-0.1.0.dist-info/direct_url.json +1 -0
  131. package/bin/_internal/review_sensei-0.1.0.dist-info/entry_points.txt +2 -0
  132. package/bin/_internal/review_sensei-0.1.0.dist-info/licenses/LICENSE +21 -0
  133. package/bin/_internal/review_sensei-0.1.0.dist-info/top_level.txt +1 -0
  134. package/bin/_internal/rpds/rpds.cp311-win_amd64.pyd +0 -0
  135. package/bin/_internal/select.pyd +0 -0
  136. package/bin/_internal/ucrtbase.dll +0 -0
  137. package/bin/_internal/unicodedata.pyd +0 -0
  138. package/bin/review-sensei.exe +0 -0
  139. package/package.json +13 -0
@@ -0,0 +1,37 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://reviewsensei.dev/schemas/v1/learning-entry.schema.json",
4
+ "title": "ReviewSensei learning entry v1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["id", "title", "rule", "scope"],
8
+ "properties": {
9
+ "id": {
10
+ "type": "string",
11
+ "pattern": "^[a-z0-9][a-z0-9._-]*$"
12
+ },
13
+ "title": {"type": "string", "minLength": 1},
14
+ "rule": {"type": "string", "minLength": 1},
15
+ "scope": {
16
+ "type": "array",
17
+ "minItems": 1,
18
+ "items": {"type": "string", "minLength": 1}
19
+ },
20
+ "rationale": {"type": "string", "minLength": 1},
21
+ "category": {"type": "string", "minLength": 1},
22
+ "source": {"type": "string", "minLength": 1},
23
+ "status": {"type": "string", "enum": ["active", "retired"]}
24
+ },
25
+ "examples": [
26
+ {
27
+ "id": "architecture.provider-boundary",
28
+ "title": "Provider boundary",
29
+ "rule": "Keep provider transport and authentication under providers.",
30
+ "scope": ["src/review_sensei/providers/**"],
31
+ "rationale": "The core review engine stays provider-neutral.",
32
+ "category": "architecture",
33
+ "source": "docs/architecture.md",
34
+ "status": "active"
35
+ }
36
+ ]
37
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://reviewsensei.dev/schemas/v1/learning-proposal.schema.json",
4
+ "title": "ReviewSensei learning proposal v1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["title", "rule", "scope"],
8
+ "properties": {
9
+ "title": {"type": "string", "minLength": 1},
10
+ "rule": {"type": "string", "minLength": 1},
11
+ "scope": {
12
+ "type": "array",
13
+ "minItems": 1,
14
+ "items": {"type": "string", "minLength": 1}
15
+ },
16
+ "rationale": {"type": "string", "minLength": 1},
17
+ "category": {"type": "string", "minLength": 1}
18
+ }
19
+ }
@@ -0,0 +1,77 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://reviewsensei.dev/schemas/v1/review-category.schema.json",
4
+ "title": "ReviewSensei review category v1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["id", "title", "focus"],
8
+ "properties": {
9
+ "id": {
10
+ "type": "string",
11
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,63}$"
12
+ },
13
+ "title": {"type": "string", "minLength": 1},
14
+ "focus": {
15
+ "type": "array",
16
+ "minItems": 1,
17
+ "items": {"type": "string", "minLength": 1}
18
+ },
19
+ "applies_to": {
20
+ "type": "array",
21
+ "minItems": 1,
22
+ "items": {"type": "string", "minLength": 1}
23
+ },
24
+ "context": {
25
+ "type": "object",
26
+ "additionalProperties": false,
27
+ "properties": {
28
+ "learnings": {
29
+ "type": "object",
30
+ "additionalProperties": false,
31
+ "properties": {
32
+ "categories": {
33
+ "type": "array",
34
+ "items": {"type": "string", "minLength": 1}
35
+ },
36
+ "include_uncategorized": {"type": "boolean"}
37
+ }
38
+ },
39
+ "documents": {
40
+ "type": "array",
41
+ "items": {
42
+ "type": "object",
43
+ "additionalProperties": false,
44
+ "required": ["path"],
45
+ "properties": {
46
+ "path": {"type": "string", "minLength": 1},
47
+ "include": {
48
+ "type": "array",
49
+ "items": {"type": "string", "minLength": 1}
50
+ },
51
+ "exclude": {
52
+ "type": "array",
53
+ "items": {"type": "string", "minLength": 1}
54
+ },
55
+ "required": {"type": "boolean"}
56
+ }
57
+ }
58
+ }
59
+ }
60
+ }
61
+ },
62
+ "examples": [
63
+ {
64
+ "id": "security",
65
+ "title": "Security",
66
+ "focus": ["Trust-boundary violations and unsafe input handling"],
67
+ "applies_to": ["**"],
68
+ "context": {
69
+ "learnings": {
70
+ "categories": ["security"],
71
+ "include_uncategorized": true
72
+ },
73
+ "documents": [{"path": "SECURITY.md"}]
74
+ }
75
+ }
76
+ ]
77
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://reviewsensei.dev/schemas/v1/review-comment.schema.json",
4
+ "title": "ReviewSensei review comment v1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["path", "line", "body"],
8
+ "properties": {
9
+ "path": {"type": "string", "minLength": 1},
10
+ "line": {"type": "integer", "minimum": 1},
11
+ "body": {"type": "string", "minLength": 1},
12
+ "severity": {"type": "string", "minLength": 1},
13
+ "fix_effort": {"type": "string", "minLength": 1},
14
+ "category": {"type": "string", "minLength": 1}
15
+ }
16
+ }
@@ -0,0 +1,53 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://reviewsensei.dev/schemas/v1/review-result.schema.json",
4
+ "title": "ReviewSensei review result v1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["summary", "comments", "provider"],
8
+ "properties": {
9
+ "summary": {"type": "string", "minLength": 1},
10
+ "comments": {
11
+ "type": "array",
12
+ "items": {
13
+ "type": "object",
14
+ "additionalProperties": false,
15
+ "required": ["path", "line", "body"],
16
+ "properties": {
17
+ "path": {"type": "string", "minLength": 1},
18
+ "line": {"type": "integer", "minimum": 1},
19
+ "body": {"type": "string", "minLength": 1},
20
+ "severity": {"type": "string", "minLength": 1},
21
+ "fix_effort": {"type": "string", "minLength": 1},
22
+ "category": {"type": "string", "minLength": 1}
23
+ }
24
+ }
25
+ },
26
+ "provider": {"type": "string", "minLength": 1},
27
+ "model": {
28
+ "anyOf": [
29
+ {"type": "string", "minLength": 1},
30
+ {"type": "null"}
31
+ ]
32
+ },
33
+ "learning_proposals": {
34
+ "type": "array",
35
+ "items": {
36
+ "type": "object",
37
+ "additionalProperties": false,
38
+ "required": ["title", "rule", "scope"],
39
+ "properties": {
40
+ "title": {"type": "string", "minLength": 1},
41
+ "rule": {"type": "string", "minLength": 1},
42
+ "scope": {
43
+ "type": "array",
44
+ "minItems": 1,
45
+ "items": {"type": "string", "minLength": 1}
46
+ },
47
+ "rationale": {"type": "string", "minLength": 1},
48
+ "category": {"type": "string", "minLength": 1}
49
+ }
50
+ }
51
+ }
52
+ }
53
+ }
@@ -0,0 +1,154 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://reviewsensei.dev/schemas/v1/review-stage.schema.json",
4
+ "title": "ReviewSensei review stage v1",
5
+ "description": "Structural contract for one configured review stage.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": ["name", "prompt_template", "outputs"],
9
+ "properties": {
10
+ "name": {
11
+ "type": "string",
12
+ "minLength": 1
13
+ },
14
+ "prompt_template": {
15
+ "type": "string",
16
+ "minLength": 1
17
+ },
18
+ "outputs": {
19
+ "type": "array",
20
+ "minItems": 1,
21
+ "maxItems": 3,
22
+ "uniqueItems": true,
23
+ "items": {
24
+ "enum": ["summary", "comments", "learning_proposals"]
25
+ }
26
+ },
27
+ "categories": {
28
+ "type": "array",
29
+ "maxItems": 16,
30
+ "items": {
31
+ "$ref": "#/$defs/category"
32
+ }
33
+ },
34
+ "category_ids": {
35
+ "type": "array",
36
+ "maxItems": 16,
37
+ "uniqueItems": true,
38
+ "items": {
39
+ "type": "string",
40
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,63}$"
41
+ }
42
+ }
43
+ },
44
+ "not": {
45
+ "required": ["categories", "category_ids"]
46
+ },
47
+ "$defs": {
48
+ "category": {
49
+ "type": "object",
50
+ "additionalProperties": false,
51
+ "required": ["id", "title", "focus"],
52
+ "properties": {
53
+ "id": {
54
+ "type": "string",
55
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,63}$"
56
+ },
57
+ "title": {
58
+ "type": "string",
59
+ "minLength": 1
60
+ },
61
+ "focus": {
62
+ "type": "array",
63
+ "minItems": 1,
64
+ "maxItems": 16,
65
+ "items": {
66
+ "type": "string",
67
+ "minLength": 1
68
+ }
69
+ },
70
+ "applies_to": {
71
+ "type": "array",
72
+ "minItems": 1,
73
+ "maxItems": 32,
74
+ "items": {
75
+ "type": "string",
76
+ "minLength": 1
77
+ }
78
+ },
79
+ "context": {
80
+ "type": "object",
81
+ "additionalProperties": false,
82
+ "properties": {
83
+ "learnings": {
84
+ "type": "object",
85
+ "additionalProperties": false,
86
+ "properties": {
87
+ "categories": {
88
+ "type": "array",
89
+ "maxItems": 32,
90
+ "uniqueItems": true,
91
+ "items": {
92
+ "type": "string",
93
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,63}$"
94
+ }
95
+ },
96
+ "include_uncategorized": {
97
+ "type": "boolean"
98
+ }
99
+ }
100
+ },
101
+ "documents": {
102
+ "type": "array",
103
+ "maxItems": 32,
104
+ "items": {
105
+ "type": "object",
106
+ "additionalProperties": false,
107
+ "required": ["path"],
108
+ "properties": {
109
+ "path": {
110
+ "type": "string",
111
+ "minLength": 1
112
+ },
113
+ "include": {
114
+ "type": "array",
115
+ "minItems": 1,
116
+ "maxItems": 32,
117
+ "items": {
118
+ "type": "string",
119
+ "minLength": 1
120
+ }
121
+ },
122
+ "exclude": {
123
+ "type": "array",
124
+ "maxItems": 32,
125
+ "items": {
126
+ "type": "string",
127
+ "minLength": 1
128
+ }
129
+ },
130
+ "required": {
131
+ "type": "boolean"
132
+ }
133
+ }
134
+ }
135
+ }
136
+ }
137
+ }
138
+ }
139
+ }
140
+ },
141
+ "examples": [
142
+ {
143
+ "name": "Summary stage",
144
+ "outputs": ["summary"],
145
+ "prompt_template": "Return JSON with a summary.\n{diff}"
146
+ },
147
+ {
148
+ "name": "Comments stage",
149
+ "category_ids": ["correctness", "security"],
150
+ "outputs": ["comments"],
151
+ "prompt_template": "Review categories:\n{review_categories}\n{diff}"
152
+ }
153
+ ]
154
+ }
@@ -0,0 +1,88 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://reviewsensei.dev/schemas/v1/stage.schema.json",
4
+ "title": "ReviewSensei stage v1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["name", "prompt_template", "outputs"],
8
+ "properties": {
9
+ "name": {"type": "string", "minLength": 1},
10
+ "prompt_template": {"type": "string", "minLength": 1},
11
+ "outputs": {
12
+ "type": "array",
13
+ "minItems": 1,
14
+ "uniqueItems": true,
15
+ "items": {"type": "string", "enum": ["summary", "comments", "learning_proposals"]}
16
+ },
17
+ "categories": {
18
+ "type": "array",
19
+ "items": {"$ref": "#/$defs/reviewCategory"}
20
+ },
21
+ "category_ids": {
22
+ "type": "array",
23
+ "minItems": 1,
24
+ "items": {"type": "string", "minLength": 1}
25
+ }
26
+ },
27
+ "$defs": {
28
+ "reviewCategory": {
29
+ "type": "object",
30
+ "additionalProperties": false,
31
+ "required": ["id", "title", "focus"],
32
+ "properties": {
33
+ "id": {
34
+ "type": "string",
35
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,63}$"
36
+ },
37
+ "title": {"type": "string", "minLength": 1},
38
+ "focus": {
39
+ "type": "array",
40
+ "minItems": 1,
41
+ "items": {"type": "string", "minLength": 1}
42
+ },
43
+ "applies_to": {
44
+ "type": "array",
45
+ "minItems": 1,
46
+ "items": {"type": "string", "minLength": 1}
47
+ },
48
+ "context": {
49
+ "type": "object",
50
+ "additionalProperties": false,
51
+ "properties": {
52
+ "learnings": {
53
+ "type": "object",
54
+ "additionalProperties": false,
55
+ "properties": {
56
+ "categories": {
57
+ "type": "array",
58
+ "items": {"type": "string", "minLength": 1}
59
+ },
60
+ "include_uncategorized": {"type": "boolean"}
61
+ }
62
+ },
63
+ "documents": {
64
+ "type": "array",
65
+ "items": {
66
+ "type": "object",
67
+ "additionalProperties": false,
68
+ "required": ["path"],
69
+ "properties": {
70
+ "path": {"type": "string", "minLength": 1},
71
+ "include": {
72
+ "type": "array",
73
+ "items": {"type": "string", "minLength": 1}
74
+ },
75
+ "exclude": {
76
+ "type": "array",
77
+ "items": {"type": "string", "minLength": 1}
78
+ },
79
+ "required": {"type": "boolean"}
80
+ }
81
+ }
82
+ }
83
+ }
84
+ }
85
+ }
86
+ }
87
+ }
88
+ }