@oddessentials/odd-repo-mapper 1.0.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.

Potentially problematic release.


This version of @oddessentials/odd-repo-mapper might be problematic. Click here for more details.

Files changed (95) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +45 -0
  3. package/dist/cli/commands/mcp.d.ts +6 -0
  4. package/dist/cli/commands/mcp.d.ts.map +1 -0
  5. package/dist/cli/commands/mcp.js +11 -0
  6. package/dist/cli/commands/mcp.js.map +1 -0
  7. package/dist/cli/commands/report.d.ts +6 -0
  8. package/dist/cli/commands/report.d.ts.map +1 -0
  9. package/dist/cli/commands/report.js +96 -0
  10. package/dist/cli/commands/report.js.map +1 -0
  11. package/dist/cli/commands/scan.d.ts +6 -0
  12. package/dist/cli/commands/scan.d.ts.map +1 -0
  13. package/dist/cli/commands/scan.js +118 -0
  14. package/dist/cli/commands/scan.js.map +1 -0
  15. package/dist/cli/commands/verify.d.ts +6 -0
  16. package/dist/cli/commands/verify.d.ts.map +1 -0
  17. package/dist/cli/commands/verify.js +47 -0
  18. package/dist/cli/commands/verify.js.map +1 -0
  19. package/dist/cli/index.d.ts +5 -0
  20. package/dist/cli/index.d.ts.map +1 -0
  21. package/dist/cli/index.js +20 -0
  22. package/dist/cli/index.js.map +1 -0
  23. package/dist/core/config.d.ts +53 -0
  24. package/dist/core/config.d.ts.map +1 -0
  25. package/dist/core/config.js +106 -0
  26. package/dist/core/config.js.map +1 -0
  27. package/dist/core/constants.d.ts +31 -0
  28. package/dist/core/constants.d.ts.map +1 -0
  29. package/dist/core/constants.js +31 -0
  30. package/dist/core/constants.js.map +1 -0
  31. package/dist/core/graph.d.ts +61 -0
  32. package/dist/core/graph.d.ts.map +1 -0
  33. package/dist/core/graph.js +163 -0
  34. package/dist/core/graph.js.map +1 -0
  35. package/dist/core/hashing.d.ts +37 -0
  36. package/dist/core/hashing.d.ts.map +1 -0
  37. package/dist/core/hashing.js +66 -0
  38. package/dist/core/hashing.js.map +1 -0
  39. package/dist/core/indexers/go.d.ts +14 -0
  40. package/dist/core/indexers/go.d.ts.map +1 -0
  41. package/dist/core/indexers/go.js +175 -0
  42. package/dist/core/indexers/go.js.map +1 -0
  43. package/dist/core/indexers/index.d.ts +39 -0
  44. package/dist/core/indexers/index.d.ts.map +1 -0
  45. package/dist/core/indexers/index.js +76 -0
  46. package/dist/core/indexers/index.js.map +1 -0
  47. package/dist/core/indexers/python.d.ts +14 -0
  48. package/dist/core/indexers/python.d.ts.map +1 -0
  49. package/dist/core/indexers/python.js +186 -0
  50. package/dist/core/indexers/python.js.map +1 -0
  51. package/dist/core/indexers/rust.d.ts +14 -0
  52. package/dist/core/indexers/rust.d.ts.map +1 -0
  53. package/dist/core/indexers/rust.js +156 -0
  54. package/dist/core/indexers/rust.js.map +1 -0
  55. package/dist/core/indexers/typescript.d.ts +19 -0
  56. package/dist/core/indexers/typescript.d.ts.map +1 -0
  57. package/dist/core/indexers/typescript.js +223 -0
  58. package/dist/core/indexers/typescript.js.map +1 -0
  59. package/dist/core/reports/coverage.d.ts +38 -0
  60. package/dist/core/reports/coverage.d.ts.map +1 -0
  61. package/dist/core/reports/coverage.js +175 -0
  62. package/dist/core/reports/coverage.js.map +1 -0
  63. package/dist/core/reports/index.d.ts +10 -0
  64. package/dist/core/reports/index.d.ts.map +1 -0
  65. package/dist/core/reports/index.js +7 -0
  66. package/dist/core/reports/index.js.map +1 -0
  67. package/dist/core/reports/mermaid.d.ts +41 -0
  68. package/dist/core/reports/mermaid.d.ts.map +1 -0
  69. package/dist/core/reports/mermaid.js +171 -0
  70. package/dist/core/reports/mermaid.js.map +1 -0
  71. package/dist/core/reports/traceability.d.ts +45 -0
  72. package/dist/core/reports/traceability.d.ts.map +1 -0
  73. package/dist/core/reports/traceability.js +190 -0
  74. package/dist/core/reports/traceability.js.map +1 -0
  75. package/dist/core/scanner.d.ts +48 -0
  76. package/dist/core/scanner.d.ts.map +1 -0
  77. package/dist/core/scanner.js +191 -0
  78. package/dist/core/scanner.js.map +1 -0
  79. package/dist/core/toolchain.d.ts +28 -0
  80. package/dist/core/toolchain.d.ts.map +1 -0
  81. package/dist/core/toolchain.js +68 -0
  82. package/dist/core/toolchain.js.map +1 -0
  83. package/dist/core/verify.d.ts +15 -0
  84. package/dist/core/verify.d.ts.map +1 -0
  85. package/dist/core/verify.js +182 -0
  86. package/dist/core/verify.js.map +1 -0
  87. package/dist/mcp/server.d.ts +46 -0
  88. package/dist/mcp/server.d.ts.map +1 -0
  89. package/dist/mcp/server.js +421 -0
  90. package/dist/mcp/server.js.map +1 -0
  91. package/package.json +86 -0
  92. package/schemas/config.schema.json +140 -0
  93. package/schemas/graph.schema.json +132 -0
  94. package/schemas/repo-profile.schema.json +118 -0
  95. package/schemas/toolchain.schema.json +37 -0
@@ -0,0 +1,132 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft-07/schema",
3
+ "$id": "https://oddessentials.dev/schemas/repo-mapper/graph.schema.json",
4
+ "title": "Knowledge Graph Export",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schemaVersion", "meta", "nodes", "edges"],
8
+ "properties": {
9
+ "schemaVersion": {
10
+ "type": "string",
11
+ "const": "0.1.0"
12
+ },
13
+ "meta": {
14
+ "type": "object",
15
+ "additionalProperties": false,
16
+ "required": ["contentHash", "nodeCount", "edgeCount", "exportedAt"],
17
+ "properties": {
18
+ "contentHash": {
19
+ "type": "string",
20
+ "pattern": "^sha256:[a-f0-9]{64}$",
21
+ "description": "SHA256 of canonical JSON (excluding this field)"
22
+ },
23
+ "nodeCount": {
24
+ "type": "integer",
25
+ "minimum": 0
26
+ },
27
+ "edgeCount": {
28
+ "type": "integer",
29
+ "minimum": 0
30
+ },
31
+ "exportedAt": {
32
+ "type": "string",
33
+ "format": "date-time",
34
+ "description": "ISO8601 timestamp (not used in hash computation)"
35
+ }
36
+ }
37
+ },
38
+ "nodes": {
39
+ "type": "array",
40
+ "items": {
41
+ "$ref": "#/$defs/node"
42
+ }
43
+ },
44
+ "edges": {
45
+ "type": "array",
46
+ "items": {
47
+ "$ref": "#/$defs/edge"
48
+ }
49
+ }
50
+ },
51
+ "$defs": {
52
+ "node": {
53
+ "type": "object",
54
+ "additionalProperties": false,
55
+ "required": ["id", "type", "path"],
56
+ "properties": {
57
+ "id": {
58
+ "type": "string"
59
+ },
60
+ "type": {
61
+ "type": "string",
62
+ "enum": ["file", "module", "symbol", "test", "entrypoint"]
63
+ },
64
+ "path": {
65
+ "type": "string"
66
+ },
67
+ "language": {
68
+ "type": "string"
69
+ },
70
+ "tier": {
71
+ "type": "integer",
72
+ "enum": [1, 2, 3]
73
+ },
74
+ "name": {
75
+ "type": "string"
76
+ },
77
+ "fqn": {
78
+ "type": "string",
79
+ "description": "Fully qualified name"
80
+ }
81
+ }
82
+ },
83
+ "edge": {
84
+ "type": "object",
85
+ "additionalProperties": false,
86
+ "required": ["source", "target", "kind", "proof"],
87
+ "properties": {
88
+ "source": {
89
+ "type": "string"
90
+ },
91
+ "target": {
92
+ "type": "string"
93
+ },
94
+ "kind": {
95
+ "type": "string",
96
+ "enum": ["import", "reference", "contains", "tests", "entrypoint"]
97
+ },
98
+ "proof": {
99
+ "type": "object",
100
+ "required": ["type"],
101
+ "properties": {
102
+ "type": {
103
+ "type": "string",
104
+ "enum": [
105
+ "ast_import",
106
+ "ast_reference",
107
+ "go_list",
108
+ "cargo_metadata",
109
+ "coverage",
110
+ "path_heuristic"
111
+ ]
112
+ },
113
+ "location": {
114
+ "type": "object",
115
+ "properties": {
116
+ "file": {
117
+ "type": "string"
118
+ },
119
+ "line": {
120
+ "type": "integer"
121
+ },
122
+ "column": {
123
+ "type": "integer"
124
+ }
125
+ }
126
+ }
127
+ }
128
+ }
129
+ }
130
+ }
131
+ }
132
+ }
@@ -0,0 +1,118 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft-07/schema",
3
+ "$id": "https://oddessentials.dev/schemas/repo-mapper/repo-profile.schema.json",
4
+ "title": "Repository Profile",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion",
9
+ "scanId",
10
+ "rootDir",
11
+ "files",
12
+ "languages",
13
+ "buildSystems",
14
+ "toolchain"
15
+ ],
16
+ "properties": {
17
+ "schemaVersion": {
18
+ "type": "string",
19
+ "const": "0.1.0"
20
+ },
21
+ "scanId": {
22
+ "type": "string",
23
+ "description": "SHA256 hash of rootDir + config hash"
24
+ },
25
+ "rootDir": {
26
+ "type": "string"
27
+ },
28
+ "files": {
29
+ "type": "object",
30
+ "additionalProperties": false,
31
+ "required": ["total", "byLanguage", "byCategory"],
32
+ "properties": {
33
+ "total": {
34
+ "type": "integer",
35
+ "minimum": 0
36
+ },
37
+ "byLanguage": {
38
+ "type": "object",
39
+ "additionalProperties": {
40
+ "type": "integer"
41
+ }
42
+ },
43
+ "byCategory": {
44
+ "type": "object",
45
+ "properties": {
46
+ "source": {
47
+ "type": "integer"
48
+ },
49
+ "test": {
50
+ "type": "integer"
51
+ },
52
+ "config": {
53
+ "type": "integer"
54
+ },
55
+ "other": {
56
+ "type": "integer"
57
+ }
58
+ }
59
+ }
60
+ }
61
+ },
62
+ "languages": {
63
+ "type": "array",
64
+ "items": {
65
+ "type": "object",
66
+ "required": ["id", "tier", "fileCount"],
67
+ "properties": {
68
+ "id": {
69
+ "type": "string"
70
+ },
71
+ "tier": {
72
+ "type": "integer",
73
+ "enum": [1, 2, 3]
74
+ },
75
+ "fileCount": {
76
+ "type": "integer"
77
+ },
78
+ "extensions": {
79
+ "type": "array",
80
+ "items": {
81
+ "type": "string"
82
+ }
83
+ }
84
+ }
85
+ }
86
+ },
87
+ "buildSystems": {
88
+ "type": "array",
89
+ "items": {
90
+ "type": "object",
91
+ "required": ["id", "detected", "manifests"],
92
+ "properties": {
93
+ "id": {
94
+ "type": "string"
95
+ },
96
+ "detected": {
97
+ "type": "boolean"
98
+ },
99
+ "manifests": {
100
+ "type": "array",
101
+ "items": {
102
+ "type": "string"
103
+ }
104
+ }
105
+ }
106
+ }
107
+ },
108
+ "toolchain": {
109
+ "$ref": "toolchain.schema.json"
110
+ },
111
+ "warnings": {
112
+ "type": "array",
113
+ "items": {
114
+ "type": "string"
115
+ }
116
+ }
117
+ }
118
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft-07/schema",
3
+ "$id": "https://oddessentials.dev/schemas/repo-mapper/toolchain.schema.json",
4
+ "title": "Toolchain Manifest",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["node", "lockfileHash", "repoMapperVersion"],
8
+ "properties": {
9
+ "node": {
10
+ "type": "string",
11
+ "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$"
12
+ },
13
+ "lockfileHash": {
14
+ "type": "string",
15
+ "pattern": "^sha256:[a-f0-9]{64}$"
16
+ },
17
+ "repoMapperVersion": {
18
+ "type": "string",
19
+ "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$"
20
+ },
21
+ "typescript": {
22
+ "type": "string"
23
+ },
24
+ "tsMorph": {
25
+ "type": "string"
26
+ },
27
+ "betterSqlite3": {
28
+ "type": "string"
29
+ },
30
+ "go": {
31
+ "type": "string"
32
+ },
33
+ "cargo": {
34
+ "type": "string"
35
+ }
36
+ }
37
+ }