@fulmenhq/tsfulmen 0.1.6

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 (188) hide show
  1. package/CHANGELOG.md +616 -0
  2. package/LICENSE +57 -0
  3. package/README.md +674 -0
  4. package/config/crucible-ts/README.md +38 -0
  5. package/config/crucible-ts/library/foundry/country-codes.yaml +29 -0
  6. package/config/crucible-ts/library/foundry/exit-codes.snapshot.json +351 -0
  7. package/config/crucible-ts/library/foundry/exit-codes.yaml +483 -0
  8. package/config/crucible-ts/library/foundry/fixtures/signals/invalid/invalid-behavior.yaml +45 -0
  9. package/config/crucible-ts/library/foundry/fixtures/signals/invalid/invalid-exit-code.yaml +51 -0
  10. package/config/crucible-ts/library/foundry/fixtures/signals/invalid/malformed.yaml +44 -0
  11. package/config/crucible-ts/library/foundry/fixtures/signals/invalid/missing-required.yaml +36 -0
  12. package/config/crucible-ts/library/foundry/fixtures/signals/parity-snapshot.json +162 -0
  13. package/config/crucible-ts/library/foundry/fixtures/signals/valid/complete.yaml +314 -0
  14. package/config/crucible-ts/library/foundry/fixtures/signals/valid/custom-behavior.yaml +96 -0
  15. package/config/crucible-ts/library/foundry/fixtures/signals/valid/minimal.yaml +55 -0
  16. package/config/crucible-ts/library/foundry/http-statuses.yaml +148 -0
  17. package/config/crucible-ts/library/foundry/mime-types.yaml +39 -0
  18. package/config/crucible-ts/library/foundry/patterns.yaml +185 -0
  19. package/config/crucible-ts/library/foundry/signals.yaml +331 -0
  20. package/config/crucible-ts/library/foundry/similarity-fixtures.yaml +432 -0
  21. package/config/crucible-ts/library/foundry/simplified-modes.snapshot.json +117 -0
  22. package/config/crucible-ts/library/fulhash/fixtures.yaml +160 -0
  23. package/config/crucible-ts/library/v1.0.0/module-manifest.yaml +179 -0
  24. package/config/crucible-ts/repository/app-identity/app-identity.example.yaml +42 -0
  25. package/config/crucible-ts/repository/app-identity/fixtures/invalid/invalid-binary-name.yaml +7 -0
  26. package/config/crucible-ts/repository/app-identity/fixtures/invalid/invalid-env-prefix.yaml +7 -0
  27. package/config/crucible-ts/repository/app-identity/fixtures/invalid/invalid-vendor.yaml +7 -0
  28. package/config/crucible-ts/repository/app-identity/fixtures/invalid/malformed-yaml.yaml +8 -0
  29. package/config/crucible-ts/repository/app-identity/fixtures/invalid/missing-required.yaml +6 -0
  30. package/config/crucible-ts/repository/app-identity/fixtures/valid/complete.yaml +20 -0
  31. package/config/crucible-ts/repository/app-identity/fixtures/valid/minimal.yaml +7 -0
  32. package/config/crucible-ts/repository/app-identity/fixtures/valid/monorepo-api.yaml +10 -0
  33. package/config/crucible-ts/repository/app-identity/fixtures/valid/monorepo-worker.yaml +10 -0
  34. package/config/crucible-ts/repository/app-identity/parity-snapshot.json +125 -0
  35. package/config/crucible-ts/server/management/server-management.yaml +141 -0
  36. package/config/crucible-ts/sync/README.md +13 -0
  37. package/config/crucible-ts/sync/sync-keys.yaml +74 -0
  38. package/config/crucible-ts/taxonomy/languages.yaml +33 -0
  39. package/config/crucible-ts/taxonomy/metrics.yaml +115 -0
  40. package/config/crucible-ts/taxonomy/repository-categories.yaml +66 -0
  41. package/config/crucible-ts/terminal/v1.0.0/terminal-overrides-defaults.yaml +38 -0
  42. package/config/crucible-ts/web/branding/site-branding.yaml +21 -0
  43. package/config/crucible-ts/web/styling/site-styling.yaml +104 -0
  44. package/dist/appidentity/index.d.ts +304 -0
  45. package/dist/appidentity/index.js +5519 -0
  46. package/dist/appidentity/index.js.map +1 -0
  47. package/dist/config/index.d.ts +144 -0
  48. package/dist/config/index.js +5752 -0
  49. package/dist/config/index.js.map +1 -0
  50. package/dist/crucible/index.d.ts +78 -0
  51. package/dist/crucible/index.js +6038 -0
  52. package/dist/crucible/index.js.map +1 -0
  53. package/dist/docscribe/index.d.ts +110 -0
  54. package/dist/docscribe/index.js +682 -0
  55. package/dist/docscribe/index.js.map +1 -0
  56. package/dist/errors/index.d.ts +150 -0
  57. package/dist/errors/index.js +5583 -0
  58. package/dist/errors/index.js.map +1 -0
  59. package/dist/foundry/index.d.ts +1557 -0
  60. package/dist/foundry/index.js +5474 -0
  61. package/dist/foundry/index.js.map +1 -0
  62. package/dist/foundry/similarity/index.d.ts +17 -0
  63. package/dist/foundry/similarity/index.js +136 -0
  64. package/dist/foundry/similarity/index.js.map +1 -0
  65. package/dist/fulhash/index.d.ts +82 -0
  66. package/dist/fulhash/index.js +374 -0
  67. package/dist/fulhash/index.js.map +1 -0
  68. package/dist/fulmen-error-B_kX8jSC.d.ts +309 -0
  69. package/dist/index.d.ts +14 -0
  70. package/dist/index.js +6197 -0
  71. package/dist/index.js.map +1 -0
  72. package/dist/logger-JU2jYitA.d.ts +171 -0
  73. package/dist/logging/index.d.ts +198 -0
  74. package/dist/logging/index.js +578 -0
  75. package/dist/logging/index.js.map +1 -0
  76. package/dist/pathfinder/index.d.ts +532 -0
  77. package/dist/pathfinder/index.js +6750 -0
  78. package/dist/pathfinder/index.js.map +1 -0
  79. package/dist/registry-x1-Qi_Tz.d.ts +349 -0
  80. package/dist/schema/index.d.ts +388 -0
  81. package/dist/schema/index.js +5522 -0
  82. package/dist/schema/index.js.map +1 -0
  83. package/dist/suggest-CLqjLZ5L.d.ts +168 -0
  84. package/dist/telemetry/index.d.ts +161 -0
  85. package/dist/telemetry/index.js +5610 -0
  86. package/dist/telemetry/index.js.map +1 -0
  87. package/dist/types-B_WtvQbS.d.ts +214 -0
  88. package/package.json +130 -0
  89. package/schemas/crucible-ts/api/http/v1.0.0/README.md +22 -0
  90. package/schemas/crucible-ts/api/http/v1.0.0/error-response.schema.json +54 -0
  91. package/schemas/crucible-ts/api/http/v1.0.0/health-response.schema.json +70 -0
  92. package/schemas/crucible-ts/api/http/v1.0.0/success-response.schema.json +51 -0
  93. package/schemas/crucible-ts/api/http/v1.0.0/version-response.schema.json +61 -0
  94. package/schemas/crucible-ts/ascii/v1.0.0/README.md +69 -0
  95. package/schemas/crucible-ts/ascii/v1.0.0/box-chars.schema.json +60 -0
  96. package/schemas/crucible-ts/ascii/v1.0.0/string-analysis.schema.json +45 -0
  97. package/schemas/crucible-ts/assessment/README.md +25 -0
  98. package/schemas/crucible-ts/assessment/v1.0.0/severity-definitions.schema.json +60 -0
  99. package/schemas/crucible-ts/config/fulmen-ecosystem/v1.0.0/README.md +11 -0
  100. package/schemas/crucible-ts/config/fulmen-ecosystem/v1.0.0/fulmen-config-paths.schema.json +61 -0
  101. package/schemas/crucible-ts/config/goneat/README.md +60 -0
  102. package/schemas/crucible-ts/config/goneat/v1.0.0/dates.yaml +234 -0
  103. package/schemas/crucible-ts/config/goneat/v1.0.0/goneat-config.yaml +344 -0
  104. package/schemas/crucible-ts/config/goneat/v1.0.0/lifecycle-phase.json +20 -0
  105. package/schemas/crucible-ts/config/goneat/v1.0.0/release-phase.json +17 -0
  106. package/schemas/crucible-ts/config/goneat/v1.0.0/security-policy.yaml +178 -0
  107. package/schemas/crucible-ts/config/goneat/v1.0.0/version-policy.schema.yaml +205 -0
  108. package/schemas/crucible-ts/config/repository/app-identity/v1.0.0/app-identity.schema.json +143 -0
  109. package/schemas/crucible-ts/config/repository/v1.0.0/lifecycle-phase.json +20 -0
  110. package/schemas/crucible-ts/config/repository-category/codex/v1.0.0/codex-config.schema.json +288 -0
  111. package/schemas/crucible-ts/config/standards/v1.0.0/adr-adoption-status.json +60 -0
  112. package/schemas/crucible-ts/config/standards/v1.0.0/adr-frontmatter.schema.json +225 -0
  113. package/schemas/crucible-ts/config/standards/v1.0.0/adr-lifecycle-status.json +62 -0
  114. package/schemas/crucible-ts/config/sync-consumer-config.yaml +51 -0
  115. package/schemas/crucible-ts/config/sync-keys.schema.yaml +37 -0
  116. package/schemas/crucible-ts/content/README.md +19 -0
  117. package/schemas/crucible-ts/content/binary-embed-manifest/v1.0.0/README.md +13 -0
  118. package/schemas/crucible-ts/content/binary-embed-manifest/v1.0.0/binary-embed-manifest.schema.yaml +36 -0
  119. package/schemas/crucible-ts/content/embed-manifest/v1.1.0/README.md +13 -0
  120. package/schemas/crucible-ts/content/embed-manifest/v1.1.0/embed-manifest.schema.yaml +78 -0
  121. package/schemas/crucible-ts/content/ssot-provenance/v1.0.0/README.md +200 -0
  122. package/schemas/crucible-ts/content/ssot-provenance/v1.0.0/ssot-provenance.schema.json +128 -0
  123. package/schemas/crucible-ts/error-handling/v1.0.0/error-response.schema.json +75 -0
  124. package/schemas/crucible-ts/library/foundry/v1.0.0/country-codes.schema.json +58 -0
  125. package/schemas/crucible-ts/library/foundry/v1.0.0/exit-codes.schema.json +300 -0
  126. package/schemas/crucible-ts/library/foundry/v1.0.0/http-status-groups.schema.json +74 -0
  127. package/schemas/crucible-ts/library/foundry/v1.0.0/mime-types.schema.json +60 -0
  128. package/schemas/crucible-ts/library/foundry/v1.0.0/patterns.schema.json +97 -0
  129. package/schemas/crucible-ts/library/foundry/v1.0.0/signals.schema.json +457 -0
  130. package/schemas/crucible-ts/library/foundry/v1.0.0/similarity.schema.json +260 -0
  131. package/schemas/crucible-ts/library/foundry/v2.0.0/similarity.schema.json +558 -0
  132. package/schemas/crucible-ts/library/fulhash/v1.0.0/README.md +6 -0
  133. package/schemas/crucible-ts/library/fulhash/v1.0.0/checksum-string.schema.json +8 -0
  134. package/schemas/crucible-ts/library/fulhash/v1.0.0/digest.schema.json +100 -0
  135. package/schemas/crucible-ts/library/fulhash/v1.0.0/fixtures.schema.json +227 -0
  136. package/schemas/crucible-ts/library/module-manifest/v1.0.0/README.md +31 -0
  137. package/schemas/crucible-ts/library/module-manifest/v1.0.0/module-manifest.schema.json +132 -0
  138. package/schemas/crucible-ts/meta/README.md +23 -0
  139. package/schemas/crucible-ts/meta/draft-07/schema.json +245 -0
  140. package/schemas/crucible-ts/meta/draft-2020-12/meta/applicator.json +81 -0
  141. package/schemas/crucible-ts/meta/draft-2020-12/meta/content.json +21 -0
  142. package/schemas/crucible-ts/meta/draft-2020-12/meta/core.json +64 -0
  143. package/schemas/crucible-ts/meta/draft-2020-12/meta/format-annotation.json +15 -0
  144. package/schemas/crucible-ts/meta/draft-2020-12/meta/meta-data.json +35 -0
  145. package/schemas/crucible-ts/meta/draft-2020-12/meta/unevaluated.json +18 -0
  146. package/schemas/crucible-ts/meta/draft-2020-12/meta/validation.json +119 -0
  147. package/schemas/crucible-ts/meta/draft-2020-12/schema.json +80 -0
  148. package/schemas/crucible-ts/observability/logging/v1.0.0/README.md +82 -0
  149. package/schemas/crucible-ts/observability/logging/v1.0.0/definitions.schema.json +140 -0
  150. package/schemas/crucible-ts/observability/logging/v1.0.0/log-event.schema.json +179 -0
  151. package/schemas/crucible-ts/observability/logging/v1.0.0/logger-config.schema.json +518 -0
  152. package/schemas/crucible-ts/observability/logging/v1.0.0/logging-policy.schema.json +225 -0
  153. package/schemas/crucible-ts/observability/logging/v1.0.0/middleware-config.schema.json +181 -0
  154. package/schemas/crucible-ts/observability/logging/v1.0.0/severity-filter.schema.json +38 -0
  155. package/schemas/crucible-ts/observability/metrics/v1.0.0/metrics-event.schema.json +86 -0
  156. package/schemas/crucible-ts/pathfinder/v1.0.0/README.md +104 -0
  157. package/schemas/crucible-ts/pathfinder/v1.0.0/error-response.schema.json +35 -0
  158. package/schemas/crucible-ts/pathfinder/v1.0.0/find-query.schema.json +49 -0
  159. package/schemas/crucible-ts/pathfinder/v1.0.0/finder-config.schema.json +91 -0
  160. package/schemas/crucible-ts/pathfinder/v1.0.0/metadata.schema.json +61 -0
  161. package/schemas/crucible-ts/pathfinder/v1.0.0/path-constraint.schema.json +50 -0
  162. package/schemas/crucible-ts/pathfinder/v1.0.0/path-result.schema.json +40 -0
  163. package/schemas/crucible-ts/protocol/http/v1.0.0/README.md +22 -0
  164. package/schemas/crucible-ts/protocol/http/v1.0.0/error-response.schema.json +54 -0
  165. package/schemas/crucible-ts/protocol/http/v1.0.0/health-response.schema.json +70 -0
  166. package/schemas/crucible-ts/protocol/http/v1.0.0/success-response.schema.json +51 -0
  167. package/schemas/crucible-ts/protocol/http/v1.0.0/version-response.schema.json +61 -0
  168. package/schemas/crucible-ts/schema-validation/v1.0.0/README.md +65 -0
  169. package/schemas/crucible-ts/schema-validation/v1.0.0/schema-registry.schema.json +31 -0
  170. package/schemas/crucible-ts/schema-validation/v1.0.0/validator-config.schema.json +36 -0
  171. package/schemas/crucible-ts/server/management/v1.0.0/server-management.schema.json +199 -0
  172. package/schemas/crucible-ts/taxonomy/language/v1.0.0/README.md +30 -0
  173. package/schemas/crucible-ts/taxonomy/language/v1.0.0/language-key.schema.json +17 -0
  174. package/schemas/crucible-ts/taxonomy/language/v1.0.0/language-metadata.schema.json +44 -0
  175. package/schemas/crucible-ts/taxonomy/repository-category/v1.0.0/README.md +31 -0
  176. package/schemas/crucible-ts/taxonomy/repository-category/v1.0.0/category-key.schema.json +19 -0
  177. package/schemas/crucible-ts/taxonomy/repository-category/v1.0.0/category-metadata.schema.json +39 -0
  178. package/schemas/crucible-ts/terminal/v1.0.0/README.md +45 -0
  179. package/schemas/crucible-ts/terminal/v1.0.0/catalog/apple-terminal.yaml +2 -0
  180. package/schemas/crucible-ts/terminal/v1.0.0/catalog/ghostty.yaml +13 -0
  181. package/schemas/crucible-ts/terminal/v1.0.0/catalog/iterm2.yaml +13 -0
  182. package/schemas/crucible-ts/terminal/v1.0.0/schema.json +40 -0
  183. package/schemas/crucible-ts/tooling/external-tools/v1.0.0/README.md +164 -0
  184. package/schemas/crucible-ts/tooling/external-tools/v1.0.0/external-tools-manifest.schema.yaml +83 -0
  185. package/schemas/crucible-ts/tooling/goneat-tools/v1.0.0/README.md +177 -0
  186. package/schemas/crucible-ts/tooling/goneat-tools/v1.0.0/goneat-tools-config.schema.yaml +146 -0
  187. package/schemas/crucible-ts/web/branding/v1.0.0/site-branding.schema.json +79 -0
  188. package/schemas/crucible-ts/web/styling/v1.0.0/site-styling.schema.json +321 -0
@@ -0,0 +1,300 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schemas.fulmenhq.dev/library/foundry/v1.0.0/exit-codes.schema.json",
4
+ "title": "Exit Codes Catalog",
5
+ "description": "Standardized process exit codes for Fulmen ecosystem",
6
+ "type": "object",
7
+ "properties": {
8
+ "$schema": {
9
+ "type": "string",
10
+ "description": "JSON Schema reference"
11
+ },
12
+ "description": {
13
+ "type": "string",
14
+ "description": "Catalog description"
15
+ },
16
+ "version": {
17
+ "type": "string",
18
+ "pattern": "^[vV]?\\d+\\.\\d+\\.\\d+$",
19
+ "description": "Semantic version of the exit codes catalog"
20
+ },
21
+ "categories": {
22
+ "type": "array",
23
+ "minItems": 1,
24
+ "description": "Exit code categories organized by domain",
25
+ "items": {
26
+ "type": "object",
27
+ "properties": {
28
+ "id": {
29
+ "type": "string",
30
+ "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$",
31
+ "description": "Category identifier (kebab-case)"
32
+ },
33
+ "name": {
34
+ "type": "string",
35
+ "description": "Human-readable category name"
36
+ },
37
+ "description": {
38
+ "type": "string",
39
+ "description": "Category purpose and usage"
40
+ },
41
+ "range": {
42
+ "type": "object",
43
+ "description": "Reserved code range for this category",
44
+ "properties": {
45
+ "min": {
46
+ "type": "integer",
47
+ "minimum": 0,
48
+ "maximum": 255,
49
+ "description": "Minimum exit code value in range"
50
+ },
51
+ "max": {
52
+ "type": "integer",
53
+ "minimum": 0,
54
+ "maximum": 255,
55
+ "description": "Maximum exit code value in range"
56
+ }
57
+ },
58
+ "required": [
59
+ "min",
60
+ "max"
61
+ ],
62
+ "additionalProperties": false
63
+ },
64
+ "codes": {
65
+ "type": "array",
66
+ "minItems": 1,
67
+ "description": "Exit codes in this category",
68
+ "items": {
69
+ "type": "object",
70
+ "properties": {
71
+ "code": {
72
+ "type": "integer",
73
+ "minimum": 0,
74
+ "maximum": 255,
75
+ "description": "Exit code value (0-255)"
76
+ },
77
+ "name": {
78
+ "type": "string",
79
+ "pattern": "^EXIT_[A-Z0-9_]+$",
80
+ "description": "Constant name (UPPER_SNAKE_CASE with EXIT_ prefix)"
81
+ },
82
+ "description": {
83
+ "type": "string",
84
+ "description": "What this exit code indicates"
85
+ },
86
+ "context": {
87
+ "type": "string",
88
+ "description": "When/where this code should be used"
89
+ },
90
+ "bsd_equivalent": {
91
+ "type": "string",
92
+ "description": "Corresponding BSD sysexits.h constant (if applicable)"
93
+ },
94
+ "retry_hint": {
95
+ "type": "string",
96
+ "enum": [
97
+ "retry",
98
+ "no_retry",
99
+ "investigate"
100
+ ],
101
+ "description": "Classification for automation retry behavior"
102
+ },
103
+ "python_note": {
104
+ "type": "string",
105
+ "description": "Python-specific implementation notes"
106
+ }
107
+ },
108
+ "required": [
109
+ "code",
110
+ "name",
111
+ "description"
112
+ ],
113
+ "additionalProperties": false
114
+ }
115
+ }
116
+ },
117
+ "required": [
118
+ "id",
119
+ "name",
120
+ "range",
121
+ "codes"
122
+ ],
123
+ "additionalProperties": false
124
+ }
125
+ },
126
+ "bsd_compatibility": {
127
+ "type": "object",
128
+ "description": "BSD sysexits.h compatibility mappings",
129
+ "properties": {
130
+ "description": {
131
+ "type": "string",
132
+ "description": "BSD compatibility mapping explanation"
133
+ },
134
+ "mappings": {
135
+ "type": "array",
136
+ "description": "Mappings between BSD and Fulmen exit codes",
137
+ "items": {
138
+ "type": "object",
139
+ "properties": {
140
+ "bsd_code": {
141
+ "type": "integer",
142
+ "minimum": 0,
143
+ "maximum": 255,
144
+ "description": "BSD sysexits.h code"
145
+ },
146
+ "bsd_name": {
147
+ "type": "string",
148
+ "description": "BSD constant name (e.g., EX_USAGE)"
149
+ },
150
+ "fulmen_code": {
151
+ "type": "integer",
152
+ "minimum": 0,
153
+ "maximum": 255,
154
+ "description": "Fulmen exit code mapping"
155
+ },
156
+ "fulmen_name": {
157
+ "type": "string",
158
+ "description": "Fulmen constant name"
159
+ },
160
+ "category": {
161
+ "type": "string",
162
+ "description": "Fulmen category"
163
+ },
164
+ "notes": {
165
+ "type": "string",
166
+ "description": "Mapping rationale and usage notes"
167
+ }
168
+ },
169
+ "required": [
170
+ "bsd_code",
171
+ "bsd_name",
172
+ "fulmen_code",
173
+ "fulmen_name",
174
+ "category"
175
+ ],
176
+ "additionalProperties": false
177
+ }
178
+ }
179
+ },
180
+ "additionalProperties": false
181
+ },
182
+ "extensions": {
183
+ "type": "object",
184
+ "description": "Reserved ranges for application-specific extensions",
185
+ "properties": {
186
+ "ranges": {
187
+ "type": "array",
188
+ "description": "Reserved code ranges",
189
+ "items": {
190
+ "type": "object",
191
+ "properties": {
192
+ "range": {
193
+ "type": "object",
194
+ "properties": {
195
+ "min": {
196
+ "type": "integer",
197
+ "minimum": 0,
198
+ "maximum": 255
199
+ },
200
+ "max": {
201
+ "type": "integer",
202
+ "minimum": 0,
203
+ "maximum": 255
204
+ }
205
+ },
206
+ "required": [
207
+ "min",
208
+ "max"
209
+ ],
210
+ "additionalProperties": false
211
+ },
212
+ "purpose": {
213
+ "type": "string",
214
+ "description": "What this range is reserved for"
215
+ },
216
+ "sizing_guidance": {
217
+ "type": "string",
218
+ "description": "Guidance on range sizing and usage"
219
+ }
220
+ },
221
+ "required": [
222
+ "range",
223
+ "purpose"
224
+ ],
225
+ "additionalProperties": false
226
+ }
227
+ }
228
+ },
229
+ "additionalProperties": false
230
+ },
231
+ "simplified_modes": {
232
+ "type": "array",
233
+ "description": "Simplified exit code mappings for novice-friendly tools",
234
+ "items": {
235
+ "type": "object",
236
+ "properties": {
237
+ "id": {
238
+ "type": "string",
239
+ "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$",
240
+ "description": "Simplified mode identifier (kebab-case)"
241
+ },
242
+ "name": {
243
+ "type": "string",
244
+ "description": "Mode display name"
245
+ },
246
+ "description": {
247
+ "type": "string",
248
+ "description": "When to use this simplified mode"
249
+ },
250
+ "mappings": {
251
+ "type": "array",
252
+ "description": "Map detailed codes to simplified codes",
253
+ "items": {
254
+ "type": "object",
255
+ "properties": {
256
+ "simplified_code": {
257
+ "type": "integer",
258
+ "minimum": 0,
259
+ "maximum": 255,
260
+ "description": "Simplified exit code value"
261
+ },
262
+ "simplified_name": {
263
+ "type": "string",
264
+ "description": "Simplified code name"
265
+ },
266
+ "maps_from": {
267
+ "type": "array",
268
+ "description": "List of detailed codes that map to this simplified code",
269
+ "items": {
270
+ "type": "integer",
271
+ "minimum": 0,
272
+ "maximum": 255
273
+ },
274
+ "minItems": 1
275
+ }
276
+ },
277
+ "required": [
278
+ "simplified_code",
279
+ "simplified_name",
280
+ "maps_from"
281
+ ],
282
+ "additionalProperties": false
283
+ }
284
+ }
285
+ },
286
+ "required": [
287
+ "id",
288
+ "name",
289
+ "mappings"
290
+ ],
291
+ "additionalProperties": false
292
+ }
293
+ }
294
+ },
295
+ "required": [
296
+ "version",
297
+ "categories"
298
+ ],
299
+ "additionalProperties": false
300
+ }
@@ -0,0 +1,74 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schemas.fulmenhq.dev/library/foundry/v1.0.0/http-status-groups.schema.json",
4
+ "title": "HTTP Status Groups",
5
+ "description": "Grouped HTTP status codes for reuse in helper libraries",
6
+ "type": "object",
7
+ "properties": {
8
+ "$schema": {
9
+ "type": "string"
10
+ },
11
+ "description": {
12
+ "type": "string"
13
+ },
14
+ "version": {
15
+ "type": "string",
16
+ "pattern": "^[vV]?\\d+\\.\\d+\\.\\d+$"
17
+ },
18
+ "groups": {
19
+ "type": "array",
20
+ "minItems": 1,
21
+ "items": {
22
+ "type": "object",
23
+ "properties": {
24
+ "id": {
25
+ "type": "string",
26
+ "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$"
27
+ },
28
+ "name": {
29
+ "type": "string"
30
+ },
31
+ "description": {
32
+ "type": "string"
33
+ },
34
+ "codes": {
35
+ "type": "array",
36
+ "minItems": 1,
37
+ "items": {
38
+ "type": "object",
39
+ "properties": {
40
+ "value": {
41
+ "type": "integer",
42
+ "minimum": 100,
43
+ "maximum": 599
44
+ },
45
+ "reason": {
46
+ "type": "string"
47
+ },
48
+ "description": {
49
+ "type": "string"
50
+ }
51
+ },
52
+ "required": [
53
+ "value",
54
+ "reason"
55
+ ],
56
+ "additionalProperties": false
57
+ }
58
+ }
59
+ },
60
+ "required": [
61
+ "id",
62
+ "name",
63
+ "codes"
64
+ ],
65
+ "additionalProperties": false
66
+ }
67
+ }
68
+ },
69
+ "required": [
70
+ "version",
71
+ "groups"
72
+ ],
73
+ "additionalProperties": false
74
+ }
@@ -0,0 +1,60 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schemas.fulmenhq.dev/library/foundry/v1.0.0/mime-types.schema.json",
4
+ "title": "MIME Types Catalog",
5
+ "description": "Curated set of media types for helper libraries",
6
+ "type": "object",
7
+ "properties": {
8
+ "$schema": {
9
+ "type": "string"
10
+ },
11
+ "description": {
12
+ "type": "string"
13
+ },
14
+ "version": {
15
+ "type": "string",
16
+ "pattern": "^[vV]?\\d+\\.\\d+\\.\\d+$"
17
+ },
18
+ "types": {
19
+ "type": "array",
20
+ "minItems": 1,
21
+ "items": {
22
+ "type": "object",
23
+ "properties": {
24
+ "id": {
25
+ "type": "string",
26
+ "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$"
27
+ },
28
+ "mime": {
29
+ "type": "string",
30
+ "pattern": "^[a-z0-9.+-]+/[a-z0-9.+-]+$"
31
+ },
32
+ "name": {
33
+ "type": "string"
34
+ },
35
+ "extensions": {
36
+ "type": "array",
37
+ "items": {
38
+ "type": "string",
39
+ "pattern": "^[a-z0-9]+$"
40
+ },
41
+ "uniqueItems": true
42
+ },
43
+ "description": {
44
+ "type": "string"
45
+ }
46
+ },
47
+ "required": [
48
+ "id",
49
+ "mime"
50
+ ],
51
+ "additionalProperties": false
52
+ }
53
+ }
54
+ },
55
+ "required": [
56
+ "version",
57
+ "types"
58
+ ],
59
+ "additionalProperties": false
60
+ }
@@ -0,0 +1,97 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schemas.fulmenhq.dev/library/foundry/v1.0.0/patterns.schema.json",
4
+ "title": "Foundry Pattern Catalog",
5
+ "description": "Language-agnostic catalog of reusable patterns (regex, glob, etc.)",
6
+ "type": "object",
7
+ "properties": {
8
+ "$schema": {
9
+ "type": "string"
10
+ },
11
+ "description": {
12
+ "type": "string"
13
+ },
14
+ "version": {
15
+ "type": "string",
16
+ "description": "Catalog version (CalVer or SemVer)",
17
+ "pattern": "^[vV]?\\d+\\.\\d+\\.\\d+$"
18
+ },
19
+ "patterns": {
20
+ "type": "array",
21
+ "minItems": 1,
22
+ "items": {
23
+ "type": "object",
24
+ "properties": {
25
+ "id": {
26
+ "type": "string",
27
+ "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$",
28
+ "description": "Unique identifier (kebab-case)"
29
+ },
30
+ "name": {
31
+ "type": "string",
32
+ "description": "Human-readable label"
33
+ },
34
+ "kind": {
35
+ "type": "string",
36
+ "enum": [
37
+ "regex",
38
+ "glob",
39
+ "literal"
40
+ ],
41
+ "description": "Pattern type"
42
+ },
43
+ "pattern": {
44
+ "type": "string",
45
+ "description": "Pattern string in canonical form"
46
+ },
47
+ "flags": {
48
+ "type": "object",
49
+ "description": "Optional flags per language runtime",
50
+ "additionalProperties": {
51
+ "type": "object",
52
+ "properties": {
53
+ "unicode": {
54
+ "type": "boolean"
55
+ },
56
+ "ignoreCase": {
57
+ "type": "boolean"
58
+ },
59
+ "multiline": {
60
+ "type": "boolean"
61
+ },
62
+ "dotAll": {
63
+ "type": "boolean"
64
+ }
65
+ },
66
+ "additionalProperties": {
67
+ "type": "boolean"
68
+ }
69
+ }
70
+ },
71
+ "description": {
72
+ "type": "string",
73
+ "description": "Usage notes"
74
+ },
75
+ "examples": {
76
+ "type": "array",
77
+ "items": {
78
+ "type": "string"
79
+ }
80
+ }
81
+ },
82
+ "required": [
83
+ "id",
84
+ "name",
85
+ "kind",
86
+ "pattern"
87
+ ],
88
+ "additionalProperties": false
89
+ }
90
+ }
91
+ },
92
+ "required": [
93
+ "version",
94
+ "patterns"
95
+ ],
96
+ "additionalProperties": false
97
+ }