knodin 0.5.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 (81) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +590 -0
  3. package/dist/bin/cli.js +1704 -0
  4. package/dist/src/agent-integration.js +250 -0
  5. package/dist/src/artifact-refresh.js +81 -0
  6. package/dist/src/cli-args.js +267 -0
  7. package/dist/src/cli-model.js +324 -0
  8. package/dist/src/compact-structural.js +96 -0
  9. package/dist/src/competitive-constraints.js +20 -0
  10. package/dist/src/competitive-manifest.js +330 -0
  11. package/dist/src/competitive-measurement.js +183 -0
  12. package/dist/src/competitive-runner.js +453 -0
  13. package/dist/src/competitive-sandbox.js +108 -0
  14. package/dist/src/context-export.js +422 -0
  15. package/dist/src/context.js +102 -0
  16. package/dist/src/docs-sections.js +141 -0
  17. package/dist/src/doctor.js +380 -0
  18. package/dist/src/engine/ann-hnsw.js +271 -0
  19. package/dist/src/engine/embeddings.js +193 -0
  20. package/dist/src/engine/file-walker.js +43 -0
  21. package/dist/src/engine/index.js +13030 -0
  22. package/dist/src/engine/perf.js +115 -0
  23. package/dist/src/engine/prune.js +112 -0
  24. package/dist/src/engine/source-policy.js +69 -0
  25. package/dist/src/engine/sqlite.js +71 -0
  26. package/dist/src/engine/symbol-delete.js +58 -0
  27. package/dist/src/failure-diagnosis.js +590 -0
  28. package/dist/src/fleet.js +7 -0
  29. package/dist/src/git-executable.js +31 -0
  30. package/dist/src/graph-query-health.js +115 -0
  31. package/dist/src/index-activity.js +125 -0
  32. package/dist/src/init-progress-worker.js +107 -0
  33. package/dist/src/init-progress.js +155 -0
  34. package/dist/src/init.js +985 -0
  35. package/dist/src/lifecycle-health.js +213 -0
  36. package/dist/src/lsp-readonly.js +217 -0
  37. package/dist/src/output-compression.js +629 -0
  38. package/dist/src/output-telemetry.js +359 -0
  39. package/dist/src/pr-triage.js +638 -0
  40. package/dist/src/relationship-adapters.js +370 -0
  41. package/dist/src/release-attestation.js +533 -0
  42. package/dist/src/repair-progress-worker.js +121 -0
  43. package/dist/src/repair-progress.js +262 -0
  44. package/dist/src/repository-init-process.js +173 -0
  45. package/dist/src/repository-management.js +1089 -0
  46. package/dist/src/response-budget.js +184 -0
  47. package/dist/src/server.js +53 -0
  48. package/dist/src/system-config.js +615 -0
  49. package/dist/src/terminal-help.js +83 -0
  50. package/dist/src/tools/knodin-tools.js +1438 -0
  51. package/dist/src/tools/reckon-tools.js +5 -0
  52. package/dist/src/update-policy.js +944 -0
  53. package/dist/src/update-trust.js +503 -0
  54. package/dist/src/version.js +13 -0
  55. package/dist/src/visualization.js +162 -0
  56. package/dist/src/wait-for-fresh.js +98 -0
  57. package/dist/src/worktree-lifecycle.js +231 -0
  58. package/docs/CLI.md +39 -0
  59. package/docs/COMMAND-OUTPUT-COMPRESSION.md +194 -0
  60. package/docs/DEAD-CODE-AND-IMPACT.md +27 -0
  61. package/docs/DOCTOR-AND-UPDATES.md +84 -0
  62. package/docs/INDEXING-POLICY-AND-PROVENANCE.md +37 -0
  63. package/docs/INSTALLATION.md +208 -0
  64. package/docs/MCP.md +100 -0
  65. package/docs/PT-ACCESS-RECOMMENDATION.md +91 -0
  66. package/docs/RELEASE-0.3-EVIDENCE.md +73 -0
  67. package/docs/REPOSITORIES-AND-WORKTREES.md +81 -0
  68. package/docs/SIGNED-UPDATES.md +146 -0
  69. package/docs/SYSTEMS-AND-RELATIONSHIPS.md +45 -0
  70. package/docs/TELEMETRY.md +42 -0
  71. package/docs/releases/0.3.0.md +46 -0
  72. package/docs/releases/0.4.0.md +68 -0
  73. package/docs/releases/0.4.1.md +28 -0
  74. package/docs/releases/0.4.2.md +27 -0
  75. package/docs/releases/0.4.3.md +23 -0
  76. package/docs/releases/0.5.0.md +29 -0
  77. package/package.json +110 -0
  78. package/schemas/release-attestation-v1.schema.json +210 -0
  79. package/tree-sitter-prisma.wasm +0 -0
  80. package/tree-sitter-sql.wasm +0 -0
  81. package/tree-sitter-xml.wasm +0 -0
@@ -0,0 +1,210 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://raw.githubusercontent.com/knowdin/knodin/main/schemas/release-attestation-v1.schema.json",
4
+ "title": "knodin release attestation",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion",
9
+ "status",
10
+ "version",
11
+ "tag",
12
+ "sourceCommit",
13
+ "generatedAt",
14
+ "build",
15
+ "artifact",
16
+ "provenance",
17
+ "sbom",
18
+ "channels",
19
+ "rollback",
20
+ "failures"
21
+ ],
22
+ "properties": {
23
+ "schemaVersion": { "const": 1 },
24
+ "status": { "enum": ["verified", "incomplete", "quarantined"] },
25
+ "version": { "$ref": "#/$defs/semver" },
26
+ "tag": { "type": "string", "pattern": "^v[0-9]", "maxLength": 129 },
27
+ "sourceCommit": { "$ref": "#/$defs/commit" },
28
+ "generatedAt": { "$ref": "#/$defs/instant" },
29
+ "build": { "$ref": "#/$defs/build" },
30
+ "artifact": { "$ref": "#/$defs/artifact" },
31
+ "provenance": { "$ref": "#/$defs/provenance" },
32
+ "sbom": { "$ref": "#/$defs/sbom" },
33
+ "channels": {
34
+ "type": "object",
35
+ "additionalProperties": false,
36
+ "required": ["public-npm", "docusign-artifactory", "github-saas", "homebrew", "ghes"],
37
+ "properties": {
38
+ "public-npm": { "$ref": "#/$defs/channel" },
39
+ "docusign-artifactory": { "$ref": "#/$defs/channel" },
40
+ "github-saas": { "$ref": "#/$defs/channel" },
41
+ "homebrew": { "$ref": "#/$defs/channel" },
42
+ "ghes": { "$ref": "#/$defs/channel" }
43
+ }
44
+ },
45
+ "rollback": {
46
+ "type": "object",
47
+ "additionalProperties": false,
48
+ "required": ["version", "targetPath", "artifactSha256"],
49
+ "properties": {
50
+ "version": { "$ref": "#/$defs/semver" },
51
+ "targetPath": { "$ref": "#/$defs/file" },
52
+ "artifactSha256": { "$ref": "#/$defs/sha256" }
53
+ }
54
+ },
55
+ "failures": {
56
+ "type": "array",
57
+ "maxItems": 100,
58
+ "items": { "type": "string", "minLength": 1, "maxLength": 512 }
59
+ }
60
+ },
61
+ "$defs": {
62
+ "semver": {
63
+ "type": "string",
64
+ "maxLength": 128,
65
+ "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+(?:-[0-9A-Za-z.-]+)?(?:\\+[0-9A-Za-z.-]+)?$"
66
+ },
67
+ "commit": {
68
+ "type": "string",
69
+ "pattern": "^(?:[a-f0-9]{40}|[a-f0-9]{64})$"
70
+ },
71
+ "instant": {
72
+ "type": "string",
73
+ "maxLength": 64,
74
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$"
75
+ },
76
+ "sha256": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
77
+ "sha512": { "type": "string", "pattern": "^[a-f0-9]{128}$" },
78
+ "file": {
79
+ "type": "string",
80
+ "minLength": 1,
81
+ "maxLength": 256,
82
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._+-]{0,255}$"
83
+ },
84
+ "https": {
85
+ "type": "string",
86
+ "minLength": 1,
87
+ "maxLength": 2048,
88
+ "pattern": "^https://"
89
+ },
90
+ "build": {
91
+ "type": "object",
92
+ "additionalProperties": false,
93
+ "required": ["repository", "workflow", "workflowRef", "runId", "runAttempt"],
94
+ "properties": {
95
+ "repository": {
96
+ "type": "string",
97
+ "pattern": "^[A-Za-z0-9_.-]{1,100}/[A-Za-z0-9_.-]{1,100}$"
98
+ },
99
+ "workflow": {
100
+ "type": "string",
101
+ "pattern": "^\\.github/workflows/[A-Za-z0-9][A-Za-z0-9._-]{0,127}\\.ya?ml$"
102
+ },
103
+ "workflowRef": { "type": "string", "pattern": "^refs/tags/v", "maxLength": 256 },
104
+ "runId": { "type": "string", "pattern": "^[0-9]{1,32}$" },
105
+ "runAttempt": { "type": "integer", "minimum": 1, "maximum": 1000 }
106
+ }
107
+ },
108
+ "artifact": {
109
+ "type": "object",
110
+ "additionalProperties": false,
111
+ "required": ["name", "length", "sha256", "sha512", "npmIntegrity"],
112
+ "properties": {
113
+ "name": { "$ref": "#/$defs/file" },
114
+ "length": { "type": "integer", "minimum": 1, "maximum": 536870912 },
115
+ "sha256": { "$ref": "#/$defs/sha256" },
116
+ "sha512": { "$ref": "#/$defs/sha512" },
117
+ "npmIntegrity": { "type": "string", "pattern": "^sha512-[A-Za-z0-9+/]+={0,2}$" }
118
+ }
119
+ },
120
+ "verification": {
121
+ "type": "object",
122
+ "additionalProperties": false,
123
+ "required": [
124
+ "verified",
125
+ "attestationId",
126
+ "attestationUrl",
127
+ "issuer",
128
+ "identity",
129
+ "verifiedAt"
130
+ ],
131
+ "properties": {
132
+ "verified": { "type": "boolean" },
133
+ "attestationId": { "type": "string", "minLength": 1, "maxLength": 256 },
134
+ "attestationUrl": { "$ref": "#/$defs/https" },
135
+ "issuer": { "const": "https://token.actions.githubusercontent.com" },
136
+ "identity": { "$ref": "#/$defs/https" },
137
+ "verifiedAt": { "$ref": "#/$defs/instant" }
138
+ }
139
+ },
140
+ "provenance": {
141
+ "type": "object",
142
+ "additionalProperties": false,
143
+ "required": ["path", "length", "sha256", "verification"],
144
+ "properties": {
145
+ "path": { "$ref": "#/$defs/file" },
146
+ "length": { "type": "integer", "minimum": 1, "maximum": 16777216 },
147
+ "sha256": { "$ref": "#/$defs/sha256" },
148
+ "verification": { "$ref": "#/$defs/verification" }
149
+ }
150
+ },
151
+ "sbom": {
152
+ "type": "object",
153
+ "additionalProperties": false,
154
+ "required": [
155
+ "format",
156
+ "specVersion",
157
+ "path",
158
+ "length",
159
+ "sha256",
160
+ "attestationPath",
161
+ "attestationLength",
162
+ "attestationSha256",
163
+ "verification"
164
+ ],
165
+ "properties": {
166
+ "format": { "const": "CycloneDX" },
167
+ "specVersion": { "type": "string", "minLength": 1, "maxLength": 16 },
168
+ "path": { "$ref": "#/$defs/file" },
169
+ "length": { "type": "integer", "minimum": 1, "maximum": 16777216 },
170
+ "sha256": { "$ref": "#/$defs/sha256" },
171
+ "attestationPath": { "$ref": "#/$defs/file" },
172
+ "attestationLength": { "type": "integer", "minimum": 1, "maximum": 16777216 },
173
+ "attestationSha256": { "$ref": "#/$defs/sha256" },
174
+ "verification": { "$ref": "#/$defs/verification" }
175
+ }
176
+ },
177
+ "channel": {
178
+ "oneOf": [
179
+ {
180
+ "type": "object",
181
+ "additionalProperties": false,
182
+ "required": ["status"],
183
+ "properties": { "status": { "const": "missing" } }
184
+ },
185
+ {
186
+ "type": "object",
187
+ "additionalProperties": false,
188
+ "required": [
189
+ "status",
190
+ "artifactLength",
191
+ "artifactSha256",
192
+ "version",
193
+ "sourceCommit",
194
+ "publishedAt",
195
+ "location"
196
+ ],
197
+ "properties": {
198
+ "status": { "enum": ["verified", "mismatch"] },
199
+ "artifactLength": { "type": "integer", "minimum": 1, "maximum": 536870912 },
200
+ "artifactSha256": { "$ref": "#/$defs/sha256" },
201
+ "version": { "$ref": "#/$defs/semver" },
202
+ "sourceCommit": { "$ref": "#/$defs/commit" },
203
+ "publishedAt": { "$ref": "#/$defs/instant" },
204
+ "location": { "$ref": "#/$defs/https" }
205
+ }
206
+ }
207
+ ]
208
+ }
209
+ }
210
+ }
Binary file
Binary file
Binary file