openlore 2.0.2 → 2.0.3

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 (57) hide show
  1. package/README.md +28 -0
  2. package/dist/cli/commands/mcp.d.ts.map +1 -1
  3. package/dist/cli/commands/mcp.js +18 -1
  4. package/dist/cli/commands/mcp.js.map +1 -1
  5. package/dist/cli/export/index.d.ts +10 -0
  6. package/dist/cli/export/index.d.ts.map +1 -0
  7. package/dist/cli/export/index.js +27 -0
  8. package/dist/cli/export/index.js.map +1 -0
  9. package/dist/cli/export/scip.d.ts +22 -0
  10. package/dist/cli/export/scip.d.ts.map +1 -0
  11. package/dist/cli/export/scip.js +95 -0
  12. package/dist/cli/export/scip.js.map +1 -0
  13. package/dist/cli/index.js +4 -0
  14. package/dist/cli/index.js.map +1 -1
  15. package/dist/cli/manifest/detect/events.d.ts +31 -0
  16. package/dist/cli/manifest/detect/events.d.ts.map +1 -0
  17. package/dist/cli/manifest/detect/events.js +22 -0
  18. package/dist/cli/manifest/detect/events.js.map +1 -0
  19. package/dist/cli/manifest/detect/http-routes.d.ts +22 -0
  20. package/dist/cli/manifest/detect/http-routes.d.ts.map +1 -0
  21. package/dist/cli/manifest/detect/http-routes.js +18 -0
  22. package/dist/cli/manifest/detect/http-routes.js.map +1 -0
  23. package/dist/cli/manifest/detect/public-symbols.d.ts +46 -0
  24. package/dist/cli/manifest/detect/public-symbols.d.ts.map +1 -0
  25. package/dist/cli/manifest/detect/public-symbols.js +144 -0
  26. package/dist/cli/manifest/detect/public-symbols.js.map +1 -0
  27. package/dist/cli/manifest/emit.d.ts +103 -0
  28. package/dist/cli/manifest/emit.d.ts.map +1 -0
  29. package/dist/cli/manifest/emit.js +272 -0
  30. package/dist/cli/manifest/emit.js.map +1 -0
  31. package/dist/cli/manifest/index.d.ts +11 -0
  32. package/dist/cli/manifest/index.d.ts.map +1 -0
  33. package/dist/cli/manifest/index.js +31 -0
  34. package/dist/cli/manifest/index.js.map +1 -0
  35. package/dist/cli/manifest/schema-validator.d.ts +18 -0
  36. package/dist/cli/manifest/schema-validator.d.ts.map +1 -0
  37. package/dist/cli/manifest/schema-validator.js +77 -0
  38. package/dist/cli/manifest/schema-validator.js.map +1 -0
  39. package/dist/cli/manifest/validate.d.ts +15 -0
  40. package/dist/cli/manifest/validate.d.ts.map +1 -0
  41. package/dist/cli/manifest/validate.js +51 -0
  42. package/dist/cli/manifest/validate.js.map +1 -0
  43. package/dist/core/scip/index.d.ts +51 -0
  44. package/dist/core/scip/index.d.ts.map +1 -0
  45. package/dist/core/scip/index.js +210 -0
  46. package/dist/core/scip/index.js.map +1 -0
  47. package/dist/core/scip/moniker.d.ts +48 -0
  48. package/dist/core/scip/moniker.d.ts.map +1 -0
  49. package/dist/core/scip/moniker.js +109 -0
  50. package/dist/core/scip/moniker.js.map +1 -0
  51. package/dist/core/scip/schema.d.ts +34 -0
  52. package/dist/core/scip/schema.d.ts.map +1 -0
  53. package/dist/core/scip/schema.js +48 -0
  54. package/dist/core/scip/schema.js.map +1 -0
  55. package/dist/core/scip/vendor/scip.proto +910 -0
  56. package/package.json +3 -1
  57. package/schemas/openlore-manifest-v1.json +191 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openlore",
3
- "version": "2.0.2",
3
+ "version": "2.0.3",
4
4
  "description": "Reverse-engineer OpenSpec specifications from existing codebases",
5
5
  "type": "module",
6
6
  "main": "dist/api/index.js",
@@ -69,6 +69,7 @@
69
69
  "src/viewer",
70
70
  "examples",
71
71
  "stubs",
72
+ "schemas",
72
73
  "README.md",
73
74
  "LICENSE"
74
75
  ],
@@ -93,6 +94,7 @@
93
94
  "glob": "^11.0.0",
94
95
  "ignore": "^6.0.2",
95
96
  "ora": "^8.1.1",
97
+ "protobufjs": "^8.4.2",
96
98
  "react": "^19.1.1",
97
99
  "react-dom": "^19.1.1",
98
100
  "tree-sitter": "^0.22.4",
@@ -0,0 +1,191 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://raw.githubusercontent.com/clay-good/OpenLore/main/schemas/openlore-manifest-v1.json",
4
+ "title": "OpenLore Federation Manifest",
5
+ "description": "Public, deterministic self-description of an OpenLore-instrumented repository, published at .well-known/openlore.json. Consumed by future OpenLore federation indices. Schema version 1.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "openlore_manifest_version",
10
+ "generated_at",
11
+ "generator",
12
+ "repo",
13
+ "languages",
14
+ "stats",
15
+ "exports",
16
+ "imports",
17
+ "specs",
18
+ "links"
19
+ ],
20
+ "properties": {
21
+ "$schema": { "type": "string" },
22
+ "openlore_manifest_version": { "const": 1 },
23
+ "generated_at": {
24
+ "type": "string",
25
+ "description": "ISO-8601 timestamp. Derived from the HEAD commit date (not wall-clock) so the manifest is byte-stable per commit."
26
+ },
27
+ "generator": {
28
+ "type": "object",
29
+ "additionalProperties": false,
30
+ "required": ["name", "version"],
31
+ "properties": {
32
+ "name": { "type": "string" },
33
+ "version": { "type": "string" }
34
+ }
35
+ },
36
+ "repo": {
37
+ "type": "object",
38
+ "additionalProperties": false,
39
+ "required": ["name", "git_remote", "git_commit", "default_branch"],
40
+ "properties": {
41
+ "name": { "type": "string" },
42
+ "git_remote": { "type": ["string", "null"] },
43
+ "git_commit": { "type": ["string", "null"] },
44
+ "default_branch": { "type": ["string", "null"] }
45
+ }
46
+ },
47
+ "languages": {
48
+ "type": "array",
49
+ "items": {
50
+ "type": "object",
51
+ "additionalProperties": false,
52
+ "required": ["name", "files", "functions"],
53
+ "properties": {
54
+ "name": { "type": "string" },
55
+ "files": { "type": "integer" },
56
+ "functions": { "type": "integer" }
57
+ }
58
+ }
59
+ },
60
+ "stats": {
61
+ "type": "object",
62
+ "additionalProperties": false,
63
+ "required": ["functions", "files", "modules", "avg_mccabe", "clusters"],
64
+ "properties": {
65
+ "functions": { "type": "integer" },
66
+ "files": { "type": "integer" },
67
+ "modules": { "type": "integer" },
68
+ "avg_mccabe": { "type": "number" },
69
+ "clusters": { "type": "integer" }
70
+ }
71
+ },
72
+ "exports": {
73
+ "type": "object",
74
+ "additionalProperties": false,
75
+ "required": [
76
+ "public_symbols",
77
+ "http_routes",
78
+ "rpc_endpoints",
79
+ "events_emitted",
80
+ "events_consumed"
81
+ ],
82
+ "properties": {
83
+ "truncated": { "type": "boolean" },
84
+ "public_symbols": {
85
+ "type": "array",
86
+ "items": {
87
+ "type": "object",
88
+ "additionalProperties": false,
89
+ "required": ["name", "kind", "file", "line"],
90
+ "properties": {
91
+ "name": { "type": "string" },
92
+ "kind": { "type": "string" },
93
+ "file": { "type": "string" },
94
+ "line": { "type": "integer" }
95
+ }
96
+ }
97
+ },
98
+ "http_routes": {
99
+ "type": "array",
100
+ "items": {
101
+ "type": "object",
102
+ "additionalProperties": false,
103
+ "required": ["method", "path", "handler"],
104
+ "properties": {
105
+ "method": { "type": "string" },
106
+ "path": { "type": "string" },
107
+ "handler": { "type": ["string", "null"] }
108
+ }
109
+ }
110
+ },
111
+ "rpc_endpoints": {
112
+ "type": "array",
113
+ "items": {
114
+ "type": "object",
115
+ "additionalProperties": false,
116
+ "required": ["kind", "service", "method", "handler"],
117
+ "properties": {
118
+ "kind": { "type": "string" },
119
+ "service": { "type": "string" },
120
+ "method": { "type": "string" },
121
+ "handler": { "type": ["string", "null"] }
122
+ }
123
+ }
124
+ },
125
+ "events_emitted": {
126
+ "type": "array",
127
+ "items": {
128
+ "type": "object",
129
+ "additionalProperties": false,
130
+ "required": ["name", "emitter"],
131
+ "properties": {
132
+ "name": { "type": "string" },
133
+ "schema_ref": { "type": ["string", "null"] },
134
+ "emitter": { "type": ["string", "null"] }
135
+ }
136
+ }
137
+ },
138
+ "events_consumed": {
139
+ "type": "array",
140
+ "items": {
141
+ "type": "object",
142
+ "additionalProperties": false,
143
+ "required": ["name", "handler"],
144
+ "properties": {
145
+ "name": { "type": "string" },
146
+ "handler": { "type": ["string", "null"] }
147
+ }
148
+ }
149
+ }
150
+ }
151
+ },
152
+ "imports": {
153
+ "type": "object",
154
+ "additionalProperties": false,
155
+ "required": ["external_packages"],
156
+ "properties": {
157
+ "external_packages": {
158
+ "type": "array",
159
+ "items": {
160
+ "type": "object",
161
+ "additionalProperties": false,
162
+ "required": ["name", "version_range"],
163
+ "properties": {
164
+ "name": { "type": "string" },
165
+ "version_range": { "type": ["string", "null"] },
166
+ "first_use": { "type": ["string", "null"] }
167
+ }
168
+ }
169
+ }
170
+ }
171
+ },
172
+ "specs": {
173
+ "type": "object",
174
+ "additionalProperties": false,
175
+ "required": ["count", "drift_state"],
176
+ "properties": {
177
+ "count": { "type": "integer" },
178
+ "drift_state": { "type": "string", "enum": ["clean", "drifted", "unverified"] }
179
+ }
180
+ },
181
+ "links": {
182
+ "type": "object",
183
+ "additionalProperties": false,
184
+ "required": ["repo", "docs"],
185
+ "properties": {
186
+ "repo": { "type": ["string", "null"] },
187
+ "docs": { "type": ["string", "null"] }
188
+ }
189
+ }
190
+ }
191
+ }