@n8r/surface 0.1.0-experimental.2 → 0.1.0-experimental.5

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 (118) hide show
  1. package/README.md +30 -4
  2. package/dist/cli.js +174 -22
  3. package/dist/codec.d.ts +2 -0
  4. package/dist/codec.js +22 -7
  5. package/dist/codex.d.ts +1 -1
  6. package/dist/codex.js +26 -10
  7. package/dist/contracts.d.ts +108 -2
  8. package/dist/cyclonedx-schemas/bom-1.7.schema.json +6700 -0
  9. package/dist/cyclonedx-schemas/cryptography-defs.schema.json +576 -0
  10. package/dist/cyclonedx-schemas/jsf-0.82.schema.json +240 -0
  11. package/dist/cyclonedx-schemas/spdx.schema.json +786 -0
  12. package/dist/cyclonedx-validation.d.ts +1 -0
  13. package/dist/cyclonedx-validation.js +45 -0
  14. package/dist/html.js +27 -3
  15. package/dist/recent.d.ts +9 -0
  16. package/dist/recent.js +71 -0
  17. package/dist/revisions.js +42 -0
  18. package/dist/skill-artifacts-cli.d.ts +1 -0
  19. package/dist/skill-artifacts-cli.js +13 -0
  20. package/dist/skill-artifacts.d.ts +15 -0
  21. package/dist/skill-artifacts.js +184 -0
  22. package/dist/skill-cyclonedx.d.ts +26 -0
  23. package/dist/skill-cyclonedx.js +214 -0
  24. package/dist/skill-presentation.d.ts +10 -0
  25. package/dist/skill-presentation.js +108 -0
  26. package/dist/skill-surface-cli.d.ts +1 -0
  27. package/dist/skill-surface-cli.js +37 -0
  28. package/dist/skill-surface-store.d.ts +7 -0
  29. package/dist/skill-surface-store.js +126 -0
  30. package/dist/surface-bom.d.ts +73 -0
  31. package/dist/surface-bom.js +139 -0
  32. package/dist/surface-draft.d.ts +6 -3
  33. package/dist/surface-draft.js +20 -3
  34. package/dist/surface-instructions.d.ts +2 -1
  35. package/dist/surface-instructions.js +10 -1
  36. package/dist/surface-overview.d.ts +15 -0
  37. package/dist/surface-overview.js +86 -0
  38. package/dist/surface-store.d.ts +5 -7
  39. package/dist/surface-store.js +34 -2
  40. package/dist/surface-view.d.ts +3 -0
  41. package/dist/surface-view.js +50 -0
  42. package/dist/validate.js +298 -0
  43. package/docs/n8r-surface/cli-bundles.md +72 -0
  44. package/docs/n8r-surface/command-outcomes.md +151 -4
  45. package/docs/n8r-surface/contracts.md +10 -0
  46. package/docs/n8r-surface/critical-path.md +21 -0
  47. package/docs/n8r-surface/first-use-access.md +143 -0
  48. package/docs/n8r-surface/first-use-overview.md +262 -0
  49. package/docs/n8r-surface/getting-started.md +55 -88
  50. package/docs/n8r-surface/guided-journey-verification.md +137 -0
  51. package/docs/n8r-surface/implementation-decisions.md +14 -14
  52. package/docs/n8r-surface/instance-first-research.md +209 -0
  53. package/docs/n8r-surface/npm-distribution.md +39 -69
  54. package/docs/n8r-surface/npm-release.md +141 -14
  55. package/docs/n8r-surface/product-direction.md +327 -0
  56. package/docs/n8r-surface/researcher-skill.md +105 -51
  57. package/docs/n8r-surface/security-assurance-strategy.md +267 -0
  58. package/docs/n8r-surface/skill-bom-verification.md +142 -0
  59. package/docs/n8r-surface/skill-cyclonedx-verification.md +144 -0
  60. package/docs/n8r-surface/skill-cyclonedx.md +85 -0
  61. package/docs/n8r-surface/skill-manual.md +129 -0
  62. package/docs/n8r-surface/skill-surface-artifacts.md +234 -0
  63. package/docs/n8r-surface/skill-usefulness-verification.md +135 -0
  64. package/docs/n8r-surface/skill-workspace-automation.md +359 -0
  65. package/docs/n8r-surface/surface-description-contract.md +224 -0
  66. package/docs/n8r-surface/surface-descriptions.md +173 -0
  67. package/docs/n8r-surface/surface-relationships.md +231 -0
  68. package/docs/n8r-surface/tester-candidate.md +158 -0
  69. package/docs/n8r-surface/versioning.md +55 -66
  70. package/docs/n8r-surface/workspace-human-check.md +101 -0
  71. package/docs/n8r-surface/workspace-installation.md +68 -0
  72. package/docs/n8r-surface/workspace-verification.md +350 -0
  73. package/docs/n8r-surface/workspace.md +83 -0
  74. package/examples/researcher/README.md +8 -0
  75. package/examples/researcher/cyclonedx/configured/README.md +7 -0
  76. package/examples/researcher/cyclonedx/configured/manifest.json +10 -0
  77. package/examples/researcher/cyclonedx/configured/mapping.json +323 -0
  78. package/examples/researcher/cyclonedx/configured/surface-records.json +1275 -0
  79. package/examples/researcher/cyclonedx/configured/surface.cdx.json +79 -0
  80. package/examples/researcher/descriptions/README.md +29 -0
  81. package/examples/researcher/descriptions/bound-r1.json +141 -0
  82. package/examples/researcher/descriptions/bound-r2.json +153 -0
  83. package/examples/researcher/descriptions/capability.json +167 -0
  84. package/examples/researcher/descriptions/research-r1.json +153 -0
  85. package/examples/researcher/descriptions/research-r2.json +157 -0
  86. package/examples/researcher/descriptions/sources.md +24 -0
  87. package/examples/researcher/relationships/README.md +34 -0
  88. package/examples/researcher/relationships/bound-r1.json +346 -0
  89. package/examples/researcher/relationships/bound-r2.json +358 -0
  90. package/examples/researcher/relationships/capability.json +325 -0
  91. package/examples/researcher/relationships/config/assistant.env.example +4 -0
  92. package/examples/researcher/relationships/research-r1.json +300 -0
  93. package/examples/researcher/relationships/research-r2.json +304 -0
  94. package/examples/researcher/relationships/sources.md +38 -0
  95. package/examples/researcher/surface-bom/README.md +17 -0
  96. package/examples/researcher/surface-bom/initial.cdx.json +188 -0
  97. package/package.json +1 -1
  98. package/plugins/n8r-surface/.codex-plugin/plugin.json +2 -2
  99. package/plugins/n8r-surface/LICENSING.md +3 -0
  100. package/plugins/n8r-surface/plugin.json +2 -2
  101. package/plugins/n8r-surface/skills/research/SKILL.md +79 -38
  102. package/plugins/n8r-surface/skills/research/references/artifacts.md +152 -0
  103. package/plugins/n8r-surface/skills/research/references/cyclonedx.md +207 -0
  104. package/plugins/n8r-surface/skills/research/references/discovery-map.md +20 -2
  105. package/plugins/n8r-surface/skills/research/references/examples/bound-r1.json +346 -0
  106. package/plugins/n8r-surface/skills/research/references/examples/capability.json +325 -0
  107. package/plugins/n8r-surface/skills/research/references/examples/research-r1.json +300 -0
  108. package/plugins/n8r-surface/skills/research/references/examples/surface.cdx.json +188 -0
  109. package/plugins/n8r-surface/skills/research/references/first-use-access.md +97 -0
  110. package/plugins/n8r-surface/skills/research/references/first-use-overview.md +101 -0
  111. package/plugins/n8r-surface/skills/research/references/instance-first.md +125 -0
  112. package/plugins/n8r-surface/skills/research/references/working-notes.md +6 -1
  113. package/plugins/n8r-surface/skills/research/references/workspace.md +89 -0
  114. package/plugins/n8r-surface/skills/research/scripts/THIRD-PARTY-NOTICES.txt +273 -0
  115. package/plugins/n8r-surface/skills/research/scripts/artifacts.mjs +8348 -0
  116. package/plugins/n8r-surface/skills/research/scripts/cyclonedx.mjs +28113 -0
  117. package/plugins/n8r-surface/skills/research/scripts/surface.mjs +27800 -0
  118. package/plugins/n8r-surface/skills/research/scripts/workspace.mjs +120 -0
@@ -0,0 +1,323 @@
1
+ {
2
+ "profile": "n8r.cyclonedx-exchange/1",
3
+ "standard": "CycloneDX 1.7",
4
+ "surface": {
5
+ "id": "urn:demo:relationship-bound",
6
+ "revision": "r1",
7
+ "digest": "sha256:21eda5c348102d1ceea09f202c645a3184cba240316344b2a034a681730a636b",
8
+ "kind": "bound"
9
+ },
10
+ "research": {
11
+ "id": "urn:demo:relationship-research",
12
+ "revision": "r1",
13
+ "digest": "sha256:615bc6f8f443b986f78a46414faf97822206bcfcc9781e8d7c03d2dcb83940a0"
14
+ },
15
+ "mapping": {
16
+ "nodes": [
17
+ {
18
+ "id": "urn:node:app",
19
+ "kind": "component",
20
+ "type": "application",
21
+ "rationale": "Synthetic consumer rehearsal classification."
22
+ },
23
+ {
24
+ "id": "urn:node:mongodb",
25
+ "kind": "service",
26
+ "rationale": "Synthetic consumer rehearsal classification."
27
+ },
28
+ {
29
+ "id": "urn:node:oidc",
30
+ "kind": "service",
31
+ "rationale": "Synthetic consumer rehearsal classification."
32
+ },
33
+ {
34
+ "id": "urn:node:saml",
35
+ "kind": "service",
36
+ "rationale": "Synthetic consumer rehearsal classification."
37
+ },
38
+ {
39
+ "id": "urn:node:inference",
40
+ "kind": "service",
41
+ "rationale": "Synthetic consumer rehearsal classification."
42
+ },
43
+ {
44
+ "id": "urn:target:atlas",
45
+ "kind": "service",
46
+ "rationale": "Synthetic consumer rehearsal classification."
47
+ },
48
+ {
49
+ "id": "urn:target:oidc",
50
+ "kind": "service",
51
+ "rationale": "Synthetic consumer rehearsal classification."
52
+ },
53
+ {
54
+ "id": "urn:target:saml",
55
+ "kind": "service",
56
+ "rationale": "Synthetic consumer rehearsal classification."
57
+ }
58
+ ],
59
+ "dependencies": [
60
+ "urn:cap:database"
61
+ ]
62
+ },
63
+ "relationships": [
64
+ {
65
+ "id": "urn:cap:database",
66
+ "projected": true,
67
+ "reason": "Explicit configured dependency projection; detailed semantics retained in native snapshot.",
68
+ "relationship": {
69
+ "id": "urn:cap:database",
70
+ "from": "urn:node:app",
71
+ "to": "urn:node:mongodb",
72
+ "type": {
73
+ "vocabulary": "urn:v:demo",
74
+ "term": "persists-data"
75
+ },
76
+ "basis": [
77
+ {
78
+ "record": "urn:demo:relationship-research",
79
+ "revision": "r1",
80
+ "items": [
81
+ "urn:f:database"
82
+ ]
83
+ }
84
+ ],
85
+ "conditions": [],
86
+ "note": "Supported possibility, not a selected composition",
87
+ "purpose": {
88
+ "state": "known",
89
+ "claims": [
90
+ {
91
+ "value": "Persist conversation history and user profiles.",
92
+ "basis": [
93
+ {
94
+ "record": "urn:demo:relationship-research",
95
+ "revision": "r1",
96
+ "items": [
97
+ "urn:f:database-purpose"
98
+ ]
99
+ }
100
+ ]
101
+ }
102
+ ],
103
+ "note": "Supported by synthetic source pack."
104
+ },
105
+ "integration": {
106
+ "state": "known",
107
+ "claims": [
108
+ {
109
+ "value": "MongoDB client driver using the MongoDB wire protocol.",
110
+ "basis": [
111
+ {
112
+ "record": "urn:demo:relationship-research",
113
+ "revision": "r1",
114
+ "items": [
115
+ "urn:f:database-integration"
116
+ ]
117
+ }
118
+ ]
119
+ }
120
+ ],
121
+ "note": "Supported by synthetic source pack."
122
+ },
123
+ "configuration": {
124
+ "state": "known",
125
+ "claims": [
126
+ {
127
+ "value": [
128
+ {
129
+ "owner": "urn:node:app",
130
+ "mechanism": "environment-variable",
131
+ "key": "CHAT_STORE_URI",
132
+ "location": "config/assistant.env.example"
133
+ }
134
+ ],
135
+ "basis": [
136
+ {
137
+ "record": "urn:demo:relationship-research",
138
+ "revision": "r1",
139
+ "items": [
140
+ "urn:f:database-configuration"
141
+ ]
142
+ }
143
+ ]
144
+ }
145
+ ],
146
+ "note": "Supported by synthetic source pack."
147
+ },
148
+ "binding": {
149
+ "state": "configured",
150
+ "claims": [
151
+ {
152
+ "target": "urn:target:atlas",
153
+ "basis": [
154
+ {
155
+ "record": "urn:demo:relationship-research",
156
+ "revision": "r1",
157
+ "items": [
158
+ "urn:f:database-bound"
159
+ ]
160
+ }
161
+ ]
162
+ }
163
+ ],
164
+ "decisions": [],
165
+ "note": "Configuration sufficient; runtime unverified"
166
+ }
167
+ }
168
+ },
169
+ {
170
+ "id": "urn:cap:oidc",
171
+ "projected": false,
172
+ "reason": "Not projected as a dependency; see native relationship and evidence.",
173
+ "relationship": {
174
+ "id": "urn:cap:oidc",
175
+ "from": "urn:node:app",
176
+ "to": "urn:node:oidc",
177
+ "type": {
178
+ "vocabulary": "urn:v:demo",
179
+ "term": "authenticates-via"
180
+ },
181
+ "basis": [
182
+ {
183
+ "record": "urn:demo:relationship-research",
184
+ "revision": "r1",
185
+ "items": [
186
+ "urn:f:oidc"
187
+ ]
188
+ }
189
+ ],
190
+ "conditions": [
191
+ "OIDC and SAML are alternatives"
192
+ ],
193
+ "note": "Supported possibility, not a selected composition",
194
+ "purpose": {
195
+ "state": "known",
196
+ "claims": [
197
+ {
198
+ "value": "Authenticate users through an identity service.",
199
+ "basis": [
200
+ {
201
+ "record": "urn:demo:relationship-research",
202
+ "revision": "r1",
203
+ "items": [
204
+ "urn:f:oidc-purpose"
205
+ ]
206
+ }
207
+ ]
208
+ }
209
+ ],
210
+ "note": "Supported by synthetic source pack."
211
+ },
212
+ "integration": {
213
+ "state": "known",
214
+ "claims": [
215
+ {
216
+ "value": "OpenID Connect",
217
+ "basis": [
218
+ {
219
+ "record": "urn:demo:relationship-research",
220
+ "revision": "r1",
221
+ "items": [
222
+ "urn:f:oidc-integration"
223
+ ]
224
+ }
225
+ ]
226
+ }
227
+ ],
228
+ "note": "Supported by synthetic source pack."
229
+ },
230
+ "configuration": {
231
+ "state": "unknown",
232
+ "claims": [],
233
+ "note": "Not researched; no absence assertion."
234
+ },
235
+ "binding": {
236
+ "state": "conflicting",
237
+ "claims": [
238
+ {
239
+ "target": "urn:target:oidc",
240
+ "basis": [
241
+ {
242
+ "record": "urn:demo:relationship-research",
243
+ "revision": "r1",
244
+ "items": [
245
+ "urn:f:identity"
246
+ ]
247
+ }
248
+ ]
249
+ },
250
+ {
251
+ "target": "urn:target:saml",
252
+ "basis": [
253
+ {
254
+ "record": "urn:demo:relationship-research",
255
+ "revision": "r1",
256
+ "items": [
257
+ "urn:f:identity"
258
+ ]
259
+ }
260
+ ]
261
+ }
262
+ ],
263
+ "decisions": [
264
+ {
265
+ "record": "urn:demo:relationship-research",
266
+ "revision": "r1",
267
+ "items": [
268
+ "urn:decision:oidc"
269
+ ]
270
+ }
271
+ ],
272
+ "note": "Preference retained separately; configuration sources disagree"
273
+ }
274
+ }
275
+ },
276
+ {
277
+ "id": "urn:cap:inference",
278
+ "projected": false,
279
+ "reason": "Not projected as a dependency; see native relationship and evidence.",
280
+ "relationship": {
281
+ "id": "urn:cap:inference",
282
+ "from": "urn:node:app",
283
+ "to": "urn:node:inference",
284
+ "type": {
285
+ "vocabulary": "urn:v:demo",
286
+ "term": "uses"
287
+ },
288
+ "basis": [],
289
+ "conditions": [],
290
+ "note": "Unknown support",
291
+ "purpose": {
292
+ "state": "unknown",
293
+ "claims": [],
294
+ "note": "Not researched; no absence assertion."
295
+ },
296
+ "integration": {
297
+ "state": "unknown",
298
+ "claims": [],
299
+ "note": "Not researched; no absence assertion."
300
+ },
301
+ "configuration": {
302
+ "state": "unknown",
303
+ "claims": [],
304
+ "note": "Not researched; no absence assertion."
305
+ },
306
+ "binding": {
307
+ "state": "unknown",
308
+ "claims": [],
309
+ "decisions": [],
310
+ "note": "Missing evidence is not unbound"
311
+ }
312
+ }
313
+ }
314
+ ],
315
+ "losses": [
316
+ "Dependency projection does not encode purpose, integration mechanism, configuration evidence, binding states, alternatives or decisions; retained in surface-records.json and relationship report.",
317
+ "Node versions, package identifiers, upstream SBOM contents and transitive dependency completeness are not inferred from labels.",
318
+ "No runtime, control conformance, complete inventory or round-trip compatibility claim. Native records remain authoritative."
319
+ ],
320
+ "gaps": [
321
+ "Authentication conflict; inference unknown; runtime unverified"
322
+ ]
323
+ }