@passportsign/core 0.1.0 → 0.2.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 (106) hide show
  1. package/dist/badge.d.ts +5 -0
  2. package/dist/badge.d.ts.map +1 -1
  3. package/dist/badge.js +8 -2
  4. package/dist/badge.js.map +1 -1
  5. package/dist/bind.d.ts.map +1 -1
  6. package/dist/bind.js +2 -8
  7. package/dist/bind.js.map +1 -1
  8. package/dist/bundle-fs.d.ts +16 -0
  9. package/dist/bundle-fs.d.ts.map +1 -0
  10. package/dist/bundle-fs.js +31 -0
  11. package/dist/bundle-fs.js.map +1 -0
  12. package/dist/bundle.d.ts +13 -5
  13. package/dist/bundle.d.ts.map +1 -1
  14. package/dist/bundle.js +18 -20
  15. package/dist/bundle.js.map +1 -1
  16. package/dist/canonical.d.ts.map +1 -1
  17. package/dist/canonical.js +3 -4
  18. package/dist/canonical.js.map +1 -1
  19. package/dist/classify.d.ts +68 -0
  20. package/dist/classify.d.ts.map +1 -0
  21. package/dist/classify.js +117 -0
  22. package/dist/classify.js.map +1 -0
  23. package/dist/dsse-common.d.ts +32 -0
  24. package/dist/dsse-common.d.ts.map +1 -0
  25. package/dist/dsse-common.js +26 -0
  26. package/dist/dsse-common.js.map +1 -0
  27. package/dist/dsse-web.d.ts +28 -0
  28. package/dist/dsse-web.d.ts.map +1 -0
  29. package/dist/dsse-web.js +81 -0
  30. package/dist/dsse-web.js.map +1 -0
  31. package/dist/dsse.d.ts +2 -26
  32. package/dist/dsse.d.ts.map +1 -1
  33. package/dist/dsse.js +2 -19
  34. package/dist/dsse.js.map +1 -1
  35. package/dist/encoding.d.ts +20 -0
  36. package/dist/encoding.d.ts.map +1 -0
  37. package/dist/encoding.js +88 -0
  38. package/dist/encoding.js.map +1 -0
  39. package/dist/github.js +2 -2
  40. package/dist/github.js.map +1 -1
  41. package/dist/index.d.ts +9 -3
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +8 -2
  44. package/dist/index.js.map +1 -1
  45. package/dist/log/rekor.d.ts +1 -1
  46. package/dist/log/rekor.d.ts.map +1 -1
  47. package/dist/log/rekor.js +7 -10
  48. package/dist/log/rekor.js.map +1 -1
  49. package/dist/lookup.d.ts +46 -0
  50. package/dist/lookup.d.ts.map +1 -0
  51. package/dist/lookup.js +101 -0
  52. package/dist/lookup.js.map +1 -0
  53. package/dist/merkle.js +3 -3
  54. package/dist/merkle.js.map +1 -1
  55. package/dist/nonce.js +1 -1
  56. package/dist/nonce.js.map +1 -1
  57. package/dist/profile-index.d.ts +64 -0
  58. package/dist/profile-index.d.ts.map +1 -0
  59. package/dist/profile-index.js +161 -0
  60. package/dist/profile-index.js.map +1 -0
  61. package/dist/revoke.d.ts +30 -0
  62. package/dist/revoke.d.ts.map +1 -0
  63. package/dist/revoke.js +42 -0
  64. package/dist/revoke.js.map +1 -0
  65. package/dist/sdk-payload.d.ts.map +1 -1
  66. package/dist/sdk-payload.js +4 -6
  67. package/dist/sdk-payload.js.map +1 -1
  68. package/dist/statement.d.ts +41 -0
  69. package/dist/statement.d.ts.map +1 -1
  70. package/dist/statement.js +43 -0
  71. package/dist/statement.js.map +1 -1
  72. package/dist/submit.d.ts +3 -3
  73. package/dist/submit.d.ts.map +1 -1
  74. package/dist/submit.js +3 -14
  75. package/dist/submit.js.map +1 -1
  76. package/dist/verifier.d.ts.map +1 -1
  77. package/dist/verifier.js +4 -14
  78. package/dist/verifier.js.map +1 -1
  79. package/dist/web.d.ts +35 -0
  80. package/dist/web.d.ts.map +1 -0
  81. package/dist/web.js +35 -0
  82. package/dist/web.js.map +1 -0
  83. package/package.json +6 -2
  84. package/src/badge.ts +124 -113
  85. package/src/bind.ts +128 -137
  86. package/src/bundle-fs.ts +40 -0
  87. package/src/bundle.ts +138 -127
  88. package/src/canonical.ts +33 -33
  89. package/src/classify.ts +165 -0
  90. package/src/dsse-common.ts +45 -0
  91. package/src/dsse-web.ts +97 -0
  92. package/src/dsse.ts +63 -91
  93. package/src/encoding.ts +96 -0
  94. package/src/github.ts +196 -196
  95. package/src/index.ts +59 -2
  96. package/src/log/rekor.ts +330 -334
  97. package/src/lookup.ts +175 -0
  98. package/src/merkle.ts +187 -187
  99. package/src/nonce.ts +53 -53
  100. package/src/profile-index.ts +222 -0
  101. package/src/revoke.ts +67 -0
  102. package/src/sdk-payload.ts +60 -62
  103. package/src/statement.ts +203 -119
  104. package/src/submit.ts +38 -54
  105. package/src/verifier.ts +304 -317
  106. package/src/web.ts +175 -0
package/src/web.ts ADDED
@@ -0,0 +1,175 @@
1
+ /**
2
+ * `@passportsign/core/web` — the runtime-neutral surface.
3
+ *
4
+ * Everything exported here runs on Node, Cloudflare Workers, and
5
+ * browsers: no `node:fs`, no `node:crypto`, no `node:sqlite`, no
6
+ * `Buffer`. The Worker badge service and the browser bind flow import
7
+ * from this subpath; if something node-only sneaks in, their bundlers
8
+ * fail loudly at build time — that's the contract this file enforces.
9
+ *
10
+ * Node-only counterparts stay on the main entry: `readBundle` /
11
+ * `writeBundle` (fs), `signEnvelope` (node crypto; use
12
+ * `signEnvelopeWeb` here), `submitBinding` (composes the node signer;
13
+ * compose `signEnvelopeWeb` + `RekorClient.submitIntoto` +
14
+ * `assembleBundle` instead), and the SQLite cache.
15
+ */
16
+
17
+ export { canonicalize, canonicalSha256Hex } from './canonical.js';
18
+
19
+ export {
20
+ base64ToBytes,
21
+ bytesToBase64,
22
+ bytesToHex,
23
+ bytesToUtf8,
24
+ hexToBytes,
25
+ randomBytes,
26
+ sha256Bytes,
27
+ sha256Hex,
28
+ utf8ToBytes,
29
+ } from './encoding.js';
30
+
31
+ export {
32
+ IN_TOTO_STATEMENT_TYPE,
33
+ PASSPORTSIGN_PREDICATE_TYPE,
34
+ PASSPORTSIGN_REVOCATION_PREDICATE_TYPE,
35
+ buildRevocationStatement,
36
+ buildStatement,
37
+ type BuildRevocationStatementInput,
38
+ type BuildStatementInput,
39
+ type DisclosureLevel,
40
+ type PassportsignPredicate,
41
+ type PassportsignRevocationPredicate,
42
+ type PassportsignRevocationStatement,
43
+ type PassportsignStatement,
44
+ } from './statement.js';
45
+
46
+ export {
47
+ BUNDLE_FORMAT_VERSION,
48
+ BundleValidationError,
49
+ assembleBundle,
50
+ validateBundle,
51
+ type PassportsignBundle,
52
+ type RekorBundleFields,
53
+ type SubmittableStatement,
54
+ } from './bundle.js';
55
+
56
+ export { ERROR_CODES, PassportsignError, type ErrorCode } from './errors.js';
57
+
58
+ export {
59
+ NONCE_BYTES,
60
+ NONCE_BASE32_LENGTH,
61
+ base32Encode,
62
+ generateNonce,
63
+ } from './nonce.js';
64
+
65
+ export {
66
+ checkGistControl,
67
+ type CheckGistOptions,
68
+ type GistEvidence,
69
+ } from './github.js';
70
+
71
+ export {
72
+ prepareBinding,
73
+ type PrepareBindingDeps,
74
+ type PrepareBindingInit,
75
+ type PrepareBindingInput,
76
+ type PreparedBinding,
77
+ } from './bind.js';
78
+
79
+ export {
80
+ prepareRevocation,
81
+ type PrepareRevocationInput,
82
+ type PreparedRevocation,
83
+ } from './revoke.js';
84
+
85
+ export {
86
+ DSSE_VERSION,
87
+ IN_TOTO_PAYLOAD_TYPE,
88
+ pae,
89
+ type DsseEnvelope,
90
+ type DsseSignature,
91
+ } from './dsse-common.js';
92
+
93
+ export {
94
+ p1363ToDer,
95
+ signEnvelopeWeb,
96
+ type SignEnvelopeWebResult,
97
+ } from './dsse-web.js';
98
+
99
+ export {
100
+ DEFAULT_REKOR_BASE_URL,
101
+ PublicSigstoreRekorClient,
102
+ buildIntotoEntryBody,
103
+ type InclusionProof,
104
+ type PublicSigstoreRekorClientOptions,
105
+ type RekorClient,
106
+ type RekorEntryResponse,
107
+ } from './log/rekor.js';
108
+
109
+ export {
110
+ hashLeaf,
111
+ hashPair,
112
+ verifyConsistency,
113
+ verifyInclusion,
114
+ } from './merkle.js';
115
+
116
+ export {
117
+ packSdkPayload,
118
+ unpackSdkPayload,
119
+ type PackedSdkPayload,
120
+ type SdkPayload,
121
+ } from './sdk-payload.js';
122
+
123
+ export {
124
+ renderBadgeMarkdown,
125
+ renderBadgeSvg,
126
+ type BadgeInput,
127
+ } from './badge.js';
128
+
129
+ export {
130
+ PROFILE_INDEX_FILENAME,
131
+ PROFILE_INDEX_VERSION,
132
+ ProfileIndexValidationError,
133
+ addBinding,
134
+ addRevocation,
135
+ createProfileIndex,
136
+ fetchProfileIndex,
137
+ mergeProfileIndexes,
138
+ profileIndexUrl,
139
+ validateProfileIndex,
140
+ type FetchProfileIndexOptions,
141
+ type ProfileIndex,
142
+ type ProfileIndexBinding,
143
+ type ProfileIndexRevocation,
144
+ } from './profile-index.js';
145
+
146
+ export {
147
+ EntryParseError,
148
+ STALENESS_WINDOW_MS,
149
+ classifyBindings,
150
+ parseIntotoEntry,
151
+ type BindingState,
152
+ type ClassifiedBinding,
153
+ type ClassifyBindingsInput,
154
+ type InTotoStatement,
155
+ type ParsedIntotoEntry,
156
+ } from './classify.js';
157
+
158
+ export {
159
+ lookupBindings,
160
+ lookupFromIndex,
161
+ type LookupBindingsDeps,
162
+ type LookupDeps,
163
+ type LookupEntryProblem,
164
+ type LookupResult,
165
+ } from './lookup.js';
166
+
167
+ export {
168
+ verifyBundle,
169
+ type BundleVerifyResult,
170
+ type CheckResult,
171
+ type SdkVerifier,
172
+ type SdkVerifyInput,
173
+ type SdkVerifyResult,
174
+ type VerifyBundleDeps,
175
+ } from './verifier.js';