@secfn/core 0.0.1 → 0.0.2

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 (100) hide show
  1. package/README.md +30 -322
  2. package/dist/encryption.d.ts +8 -0
  3. package/dist/encryption.d.ts.map +1 -0
  4. package/dist/encryption.js +76 -0
  5. package/dist/encryption.js.map +1 -0
  6. package/dist/errors.d.ts +24 -0
  7. package/dist/errors.d.ts.map +1 -0
  8. package/dist/errors.js +47 -0
  9. package/dist/errors.js.map +1 -0
  10. package/dist/id.d.ts +3 -0
  11. package/dist/id.d.ts.map +1 -0
  12. package/dist/id.js +11 -0
  13. package/dist/id.js.map +1 -0
  14. package/dist/index.d.ts +9 -11
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +9 -11
  17. package/dist/index.js.map +1 -1
  18. package/dist/scanner/reporters.d.ts +14 -0
  19. package/dist/scanner/reporters.d.ts.map +1 -0
  20. package/dist/scanner/reporters.js +85 -0
  21. package/dist/scanner/reporters.js.map +1 -0
  22. package/dist/scanner/rules.d.ts +24 -0
  23. package/dist/scanner/rules.d.ts.map +1 -0
  24. package/dist/scanner/rules.js +141 -0
  25. package/dist/scanner/rules.js.map +1 -0
  26. package/dist/scanner/scanner.d.ts +25 -0
  27. package/dist/scanner/scanner.d.ts.map +1 -0
  28. package/dist/scanner/scanner.js +73 -0
  29. package/dist/scanner/scanner.js.map +1 -0
  30. package/dist/scanner/utils.d.ts +15 -0
  31. package/dist/scanner/utils.d.ts.map +1 -0
  32. package/dist/scanner/utils.js +40 -0
  33. package/dist/scanner/utils.js.map +1 -0
  34. package/dist/schema.d.ts +9 -0
  35. package/dist/schema.d.ts.map +1 -0
  36. package/dist/schema.js +246 -0
  37. package/dist/schema.js.map +1 -0
  38. package/dist/types.d.ts +258 -0
  39. package/dist/types.d.ts.map +1 -0
  40. package/dist/types.js +2 -0
  41. package/dist/types.js.map +1 -0
  42. package/package.json +29 -26
  43. package/dist/access-control/rbac.d.ts +0 -48
  44. package/dist/access-control/rbac.d.ts.map +0 -1
  45. package/dist/access-control/rbac.js +0 -203
  46. package/dist/access-control/rbac.js.map +0 -1
  47. package/dist/core/secfn.d.ts +0 -28
  48. package/dist/core/secfn.d.ts.map +0 -1
  49. package/dist/core/secfn.js +0 -73
  50. package/dist/core/secfn.js.map +0 -1
  51. package/dist/monitoring/security-monitor.d.ts +0 -46
  52. package/dist/monitoring/security-monitor.d.ts.map +0 -1
  53. package/dist/monitoring/security-monitor.js +0 -172
  54. package/dist/monitoring/security-monitor.js.map +0 -1
  55. package/dist/rate-limiting/rate-limiter.d.ts +0 -31
  56. package/dist/rate-limiting/rate-limiter.d.ts.map +0 -1
  57. package/dist/rate-limiting/rate-limiter.js +0 -140
  58. package/dist/rate-limiting/rate-limiter.js.map +0 -1
  59. package/dist/scanning/patterns.d.ts +0 -3
  60. package/dist/scanning/patterns.d.ts.map +0 -1
  61. package/dist/scanning/patterns.js +0 -139
  62. package/dist/scanning/patterns.js.map +0 -1
  63. package/dist/scanning/scanner.d.ts +0 -36
  64. package/dist/scanning/scanner.d.ts.map +0 -1
  65. package/dist/scanning/scanner.js +0 -152
  66. package/dist/scanning/scanner.js.map +0 -1
  67. package/dist/secrets/encryption.d.ts +0 -17
  68. package/dist/secrets/encryption.d.ts.map +0 -1
  69. package/dist/secrets/encryption.js +0 -47
  70. package/dist/secrets/encryption.js.map +0 -1
  71. package/dist/secrets/vault.d.ts +0 -43
  72. package/dist/secrets/vault.d.ts.map +0 -1
  73. package/dist/secrets/vault.js +0 -126
  74. package/dist/secrets/vault.js.map +0 -1
  75. package/dist/storage/indexeddb-storage.d.ts +0 -37
  76. package/dist/storage/indexeddb-storage.d.ts.map +0 -1
  77. package/dist/storage/indexeddb-storage.js +0 -284
  78. package/dist/storage/indexeddb-storage.js.map +0 -1
  79. package/dist/types/index.d.ts +0 -189
  80. package/dist/types/index.d.ts.map +0 -1
  81. package/dist/types/index.js +0 -2
  82. package/dist/types/index.js.map +0 -1
  83. package/dist/utils/helpers.d.ts +0 -8
  84. package/dist/utils/helpers.d.ts.map +0 -1
  85. package/dist/utils/helpers.js +0 -73
  86. package/dist/utils/helpers.js.map +0 -1
  87. package/examples/basic-usage.ts +0 -143
  88. package/src/access-control/rbac.ts +0 -271
  89. package/src/core/secfn.ts +0 -90
  90. package/src/index.ts +0 -27
  91. package/src/monitoring/security-monitor.ts +0 -245
  92. package/src/rate-limiting/rate-limiter.ts +0 -181
  93. package/src/scanning/patterns.ts +0 -140
  94. package/src/scanning/scanner.ts +0 -199
  95. package/src/secrets/encryption.ts +0 -74
  96. package/src/secrets/vault.ts +0 -187
  97. package/src/storage/indexeddb-storage.ts +0 -355
  98. package/src/types/index.ts +0 -213
  99. package/src/utils/helpers.ts +0 -84
  100. package/tsconfig.json +0 -26
package/dist/schema.js ADDED
@@ -0,0 +1,246 @@
1
+ export const SECFN_SCHEMA_VERSION = 1;
2
+ export function getSecFnSchema() {
3
+ return withIsoDateDefaults([
4
+ {
5
+ modelName: "secfn_namespaces",
6
+ fields: {
7
+ id: { type: "string", required: true },
8
+ tenantId: { type: "string", required: false, fieldName: "tenant_id" },
9
+ slug: { type: "string", required: true },
10
+ label: { type: "string", required: true },
11
+ description: { type: "string", required: false },
12
+ createdBy: { type: "string", required: true, fieldName: "created_by" },
13
+ createdAt: { type: "date", required: true, fieldName: "created_at" },
14
+ updatedAt: { type: "date", required: true, fieldName: "updated_at" },
15
+ metadata: { type: "json", required: false },
16
+ },
17
+ indexes: [
18
+ { name: "idx_secfn_namespaces_lookup", fields: ["tenantId", "slug"], unique: true },
19
+ ],
20
+ },
21
+ {
22
+ modelName: "secfn_environments",
23
+ fields: {
24
+ id: { type: "string", required: true },
25
+ tenantId: { type: "string", required: false, fieldName: "tenant_id" },
26
+ namespaceId: { type: "string", required: false, fieldName: "namespace_id" },
27
+ name: { type: "string", required: true },
28
+ description: { type: "string", required: false },
29
+ createdBy: { type: "string", required: true, fieldName: "created_by" },
30
+ createdAt: { type: "date", required: true, fieldName: "created_at" },
31
+ updatedAt: { type: "date", required: true, fieldName: "updated_at" },
32
+ metadata: { type: "json", required: false },
33
+ },
34
+ indexes: [
35
+ { name: "idx_secfn_environments_lookup", fields: ["tenantId", "namespaceId", "name"], unique: true },
36
+ ],
37
+ },
38
+ {
39
+ modelName: "secfn_secrets",
40
+ fields: {
41
+ id: { type: "string", required: true },
42
+ tenantId: { type: "string", required: false, fieldName: "tenant_id" },
43
+ namespaceId: { type: "string", required: true, fieldName: "namespace_id" },
44
+ namespace: { type: "string", required: false },
45
+ key: { type: "string", required: true },
46
+ environmentId: { type: "string", required: true, fieldName: "environment_id" },
47
+ environment: { type: "string", required: false },
48
+ description: { type: "string", required: false },
49
+ tags: { type: "json", required: true },
50
+ currentVersion: { type: "number", required: true, fieldName: "current_version" },
51
+ revokedAt: { type: "date", required: false, fieldName: "revoked_at" },
52
+ createdBy: { type: "string", required: true, fieldName: "created_by" },
53
+ createdAt: { type: "date", required: true, fieldName: "created_at" },
54
+ updatedAt: { type: "date", required: true, fieldName: "updated_at" },
55
+ metadata: { type: "json", required: false },
56
+ },
57
+ indexes: [
58
+ { name: "idx_secfn_secrets_lookup", fields: ["tenantId", "namespaceId", "environmentId", "key"], unique: true },
59
+ { name: "idx_secfn_secrets_revoked", fields: ["revokedAt"] },
60
+ ],
61
+ },
62
+ {
63
+ modelName: "secfn_secret_versions",
64
+ fields: {
65
+ id: { type: "string", required: true },
66
+ secretId: { type: "string", required: true, fieldName: "secret_id" },
67
+ version: { type: "number", required: true },
68
+ encryptedPayload: { type: "json", required: true, fieldName: "encrypted_payload" },
69
+ createdBy: { type: "string", required: true, fieldName: "created_by" },
70
+ createdAt: { type: "date", required: true, fieldName: "created_at" },
71
+ },
72
+ indexes: [
73
+ { name: "idx_secfn_secret_versions_secret_version", fields: ["secretId", "version"], unique: true },
74
+ ],
75
+ },
76
+ {
77
+ modelName: "secfn_secret_sets",
78
+ fields: {
79
+ id: { type: "string", required: true },
80
+ tenantId: { type: "string", required: false, fieldName: "tenant_id" },
81
+ namespaceId: { type: "string", required: true, fieldName: "namespace_id" },
82
+ namespace: { type: "string", required: false },
83
+ name: { type: "string", required: true },
84
+ description: { type: "string", required: false },
85
+ createdBy: { type: "string", required: true, fieldName: "created_by" },
86
+ createdAt: { type: "date", required: true, fieldName: "created_at" },
87
+ updatedAt: { type: "date", required: true, fieldName: "updated_at" },
88
+ },
89
+ indexes: [
90
+ { name: "idx_secfn_secret_sets_lookup", fields: ["tenantId", "namespaceId", "name"], unique: true },
91
+ ],
92
+ },
93
+ {
94
+ modelName: "secfn_secret_set_members",
95
+ fields: {
96
+ id: { type: "string", required: true },
97
+ setId: { type: "string", required: true, fieldName: "set_id" },
98
+ secretId: { type: "string", required: true, fieldName: "secret_id" },
99
+ alias: { type: "string", required: false },
100
+ createdAt: { type: "date", required: true, fieldName: "created_at" },
101
+ },
102
+ indexes: [
103
+ { name: "idx_secfn_secret_set_members_set", fields: ["setId"] },
104
+ ],
105
+ },
106
+ {
107
+ modelName: "secfn_service_tokens",
108
+ fields: {
109
+ id: { type: "string", required: true },
110
+ tokenHash: { type: "string", required: true, fieldName: "token_hash" },
111
+ name: { type: "string", required: true },
112
+ tenantId: { type: "string", required: false, fieldName: "tenant_id" },
113
+ namespace: { type: "string", required: false },
114
+ environment: { type: "string", required: false },
115
+ scopes: { type: "json", required: true },
116
+ expiresAt: { type: "date", required: false, fieldName: "expires_at" },
117
+ revokedAt: { type: "date", required: false, fieldName: "revoked_at" },
118
+ createdBy: { type: "string", required: true, fieldName: "created_by" },
119
+ createdAt: { type: "date", required: true, fieldName: "created_at" },
120
+ lastUsedAt: { type: "date", required: false, fieldName: "last_used_at" },
121
+ },
122
+ indexes: [
123
+ { name: "idx_secfn_service_tokens_hash", fields: ["tokenHash"], unique: true },
124
+ ],
125
+ },
126
+ {
127
+ modelName: "secfn_roles",
128
+ fields: {
129
+ id: { type: "string", required: true },
130
+ name: { type: "string", required: true },
131
+ description: { type: "string", required: false },
132
+ permissions: { type: "json", required: true },
133
+ inherits: { type: "json", required: false },
134
+ createdAt: { type: "date", required: true, fieldName: "created_at" },
135
+ updatedAt: { type: "date", required: true, fieldName: "updated_at" },
136
+ metadata: { type: "json", required: false },
137
+ },
138
+ indexes: [
139
+ { name: "idx_secfn_roles_name", fields: ["name"], unique: true },
140
+ ],
141
+ },
142
+ {
143
+ modelName: "secfn_role_bindings",
144
+ fields: {
145
+ id: { type: "string", required: true },
146
+ principalId: { type: "string", required: true, fieldName: "principal_id" },
147
+ roleId: { type: "string", required: true, fieldName: "role_id" },
148
+ tenantId: { type: "string", required: false, fieldName: "tenant_id" },
149
+ namespace: { type: "string", required: false },
150
+ resourceId: { type: "string", required: false, fieldName: "resource_id" },
151
+ expiresAt: { type: "date", required: false, fieldName: "expires_at" },
152
+ createdAt: { type: "date", required: true, fieldName: "created_at" },
153
+ createdBy: { type: "string", required: false, fieldName: "created_by" },
154
+ },
155
+ indexes: [
156
+ { name: "idx_secfn_role_bindings_principal", fields: ["principalId"] },
157
+ ],
158
+ },
159
+ {
160
+ modelName: "secfn_audit_events",
161
+ fields: {
162
+ id: { type: "string", required: true },
163
+ timestamp: { type: "date", required: true },
164
+ type: { type: "string", required: true },
165
+ severity: { type: "string", required: true },
166
+ tenantId: { type: "string", required: false, fieldName: "tenant_id" },
167
+ namespaceId: { type: "string", required: false, fieldName: "namespace_id" },
168
+ namespace: { type: "string", required: false },
169
+ environmentId: { type: "string", required: false, fieldName: "environment_id" },
170
+ environment: { type: "string", required: false },
171
+ actorId: { type: "string", required: false, fieldName: "actor_id" },
172
+ ip: { type: "string", required: false },
173
+ userAgent: { type: "string", required: false, fieldName: "user_agent" },
174
+ resource: { type: "string", required: false },
175
+ action: { type: "string", required: false },
176
+ requestId: { type: "string", required: false, fieldName: "request_id" },
177
+ metadata: { type: "json", required: true },
178
+ resolved: { type: "boolean", required: true },
179
+ resolvedAt: { type: "date", required: false, fieldName: "resolved_at" },
180
+ resolvedBy: { type: "string", required: false, fieldName: "resolved_by" },
181
+ notes: { type: "string", required: false },
182
+ },
183
+ indexes: [
184
+ { name: "idx_secfn_audit_events_timestamp", fields: ["timestamp"] },
185
+ { name: "idx_secfn_audit_events_type", fields: ["type"] },
186
+ { name: "idx_secfn_audit_events_severity", fields: ["severity"] },
187
+ ],
188
+ },
189
+ {
190
+ modelName: "secfn_scan_runs",
191
+ fields: {
192
+ id: { type: "string", required: true },
193
+ startedAt: { type: "date", required: true, fieldName: "started_at" },
194
+ completedAt: { type: "date", required: false, fieldName: "completed_at" },
195
+ target: { type: "string", required: true },
196
+ status: { type: "string", required: true },
197
+ findingCount: { type: "number", required: true, fieldName: "finding_count" },
198
+ metadata: { type: "json", required: false },
199
+ },
200
+ },
201
+ {
202
+ modelName: "secfn_scan_findings",
203
+ fields: {
204
+ id: { type: "string", required: true },
205
+ runId: { type: "string", required: false, fieldName: "run_id" },
206
+ ruleId: { type: "string", required: true, fieldName: "rule_id" },
207
+ ruleName: { type: "string", required: true, fieldName: "rule_name" },
208
+ severity: { type: "string", required: true },
209
+ message: { type: "string", required: true },
210
+ file: { type: "string", required: true },
211
+ line: { type: "number", required: true },
212
+ column: { type: "number", required: true },
213
+ redactedMatch: { type: "string", required: false, fieldName: "redacted_match" },
214
+ fingerprint: { type: "string", required: true },
215
+ context: { type: "string", required: false },
216
+ metadata: { type: "json", required: false },
217
+ },
218
+ indexes: [
219
+ { name: "idx_secfn_scan_findings_run", fields: ["runId"] },
220
+ { name: "idx_secfn_scan_findings_severity", fields: ["severity"] },
221
+ ],
222
+ },
223
+ ]);
224
+ }
225
+ export function getSchema() {
226
+ return {
227
+ version: SECFN_SCHEMA_VERSION,
228
+ schemas: getSecFnSchema(),
229
+ };
230
+ }
231
+ function withIsoDateDefaults(tables) {
232
+ return tables.map((table) => ({
233
+ ...table,
234
+ fields: Object.fromEntries(Object.entries(table.fields).map(([name, field]) => [
235
+ name,
236
+ field.type === "date" || field.type === "datetime"
237
+ ? {
238
+ dateValueType: "iso-string",
239
+ dateStorageType: "timestamptz",
240
+ ...field,
241
+ }
242
+ : field,
243
+ ])),
244
+ }));
245
+ }
246
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,258 @@
1
+ export type SecFnEnvironment = string;
2
+ export type SecFnSeverity = "critical" | "high" | "medium" | "low" | "info";
3
+ export interface SecFnLogger {
4
+ info(message: string, context?: Record<string, unknown>): void;
5
+ warn(message: string, context?: Record<string, unknown>): void;
6
+ error(message: string, context?: Record<string, unknown>): void;
7
+ debug(message: string, context?: Record<string, unknown>): void;
8
+ }
9
+ export interface KeyMaterial {
10
+ keyId: string;
11
+ secret: string | Uint8Array;
12
+ }
13
+ export interface KeyProvider {
14
+ resolveKey(input?: {
15
+ keyId?: string;
16
+ purpose?: "encrypt" | "decrypt";
17
+ }): Promise<KeyMaterial> | KeyMaterial;
18
+ }
19
+ export interface SecFnEncryptionConfig {
20
+ masterKey: string;
21
+ keyId?: string;
22
+ }
23
+ export interface SecFnSecretScope {
24
+ tenantId?: string;
25
+ namespaceId?: string;
26
+ namespace?: string;
27
+ environmentId?: string;
28
+ environment?: SecFnEnvironment;
29
+ }
30
+ export interface SecFnRuntimeClientConfig extends SecFnSecretScope {
31
+ endpoint: string;
32
+ apiKey: string;
33
+ cache?: {
34
+ ttlMs: number;
35
+ staleWhileRevalidate?: boolean;
36
+ };
37
+ }
38
+ export interface SecFnServerCoreConfig {
39
+ basePath?: string;
40
+ encryption?: SecFnEncryptionConfig;
41
+ }
42
+ export interface SecFnRateLimitPolicyConfig {
43
+ enabled?: boolean;
44
+ algorithm?: "fixed-window" | "sliding-window" | "token-bucket";
45
+ windowMs?: number;
46
+ limits?: {
47
+ perIP?: number;
48
+ perUser?: number;
49
+ perEndpoint?: number;
50
+ };
51
+ }
52
+ export interface EncryptedSecretPayload {
53
+ algorithm: "AES-256-GCM";
54
+ keyId: string;
55
+ iv: string;
56
+ salt: string;
57
+ authTag: string;
58
+ ciphertext: string;
59
+ }
60
+ export interface SecretAadInput {
61
+ tenantId?: string;
62
+ namespace?: string;
63
+ secretId: string;
64
+ version: number;
65
+ }
66
+ export interface NamespaceRecord {
67
+ id: string;
68
+ tenantId?: string;
69
+ slug: string;
70
+ label: string;
71
+ description?: string;
72
+ createdBy: string;
73
+ createdAt: string;
74
+ updatedAt: string;
75
+ metadata?: Record<string, unknown>;
76
+ }
77
+ export interface EnvironmentRecord {
78
+ id: string;
79
+ tenantId?: string;
80
+ namespaceId?: string;
81
+ name: string;
82
+ description?: string;
83
+ createdBy: string;
84
+ createdAt: string;
85
+ updatedAt: string;
86
+ metadata?: Record<string, unknown>;
87
+ }
88
+ export interface SecretRecord {
89
+ id: string;
90
+ tenantId?: string;
91
+ namespaceId: string;
92
+ namespace?: string;
93
+ key: string;
94
+ environmentId: string;
95
+ environment?: SecFnEnvironment;
96
+ description?: string;
97
+ tags: string[];
98
+ currentVersion: number;
99
+ revokedAt?: string;
100
+ createdBy: string;
101
+ createdAt: string;
102
+ updatedAt: string;
103
+ metadata?: Record<string, unknown>;
104
+ }
105
+ export interface SecretVersionRecord {
106
+ id: string;
107
+ secretId: string;
108
+ version: number;
109
+ encryptedPayload: EncryptedSecretPayload;
110
+ createdBy: string;
111
+ createdAt: string;
112
+ }
113
+ export interface SecretSetRecord {
114
+ id: string;
115
+ tenantId?: string;
116
+ namespaceId: string;
117
+ namespace?: string;
118
+ name: string;
119
+ description?: string;
120
+ createdBy: string;
121
+ createdAt: string;
122
+ updatedAt: string;
123
+ }
124
+ export interface SecretSetMemberRecord {
125
+ id: string;
126
+ setId: string;
127
+ secretId: string;
128
+ alias?: string;
129
+ createdAt: string;
130
+ }
131
+ export interface ServiceTokenRecord {
132
+ id: string;
133
+ tokenHash: string;
134
+ name: string;
135
+ tenantId?: string;
136
+ namespace?: string;
137
+ environment?: SecFnEnvironment;
138
+ scopes: string[];
139
+ expiresAt?: string;
140
+ revokedAt?: string;
141
+ createdBy: string;
142
+ createdAt: string;
143
+ lastUsedAt?: string;
144
+ }
145
+ export interface RoleRecord {
146
+ id: string;
147
+ name: string;
148
+ description?: string;
149
+ permissions: string[];
150
+ inherits?: string[];
151
+ createdAt: string;
152
+ updatedAt: string;
153
+ metadata?: Record<string, unknown>;
154
+ }
155
+ export interface RoleBindingRecord {
156
+ id: string;
157
+ principalId: string;
158
+ roleId: string;
159
+ tenantId?: string;
160
+ namespace?: string;
161
+ resourceId?: string;
162
+ expiresAt?: string;
163
+ createdAt: string;
164
+ createdBy?: string;
165
+ }
166
+ export type SecurityEventType = "auth_failure" | "rate_limit_exceeded" | "unauthorized_access" | "secret_accessed" | "permission_denied" | "suspicious_activity" | "secret_exposed" | "policy_violation";
167
+ export interface SecurityAuditEvent {
168
+ id: string;
169
+ timestamp: string;
170
+ type: SecurityEventType;
171
+ severity: SecFnSeverity;
172
+ tenantId?: string;
173
+ namespaceId?: string;
174
+ namespace?: string;
175
+ environmentId?: string;
176
+ environment?: SecFnEnvironment;
177
+ actorId?: string;
178
+ ip?: string;
179
+ userAgent?: string;
180
+ resource?: string;
181
+ action?: string;
182
+ requestId?: string;
183
+ metadata: Record<string, unknown>;
184
+ resolved: boolean;
185
+ resolvedAt?: string;
186
+ resolvedBy?: string;
187
+ notes?: string;
188
+ }
189
+ export interface SecurityMetrics {
190
+ totalEvents: number;
191
+ eventsByType: Record<string, number>;
192
+ eventsBySeverity: Record<string, number>;
193
+ topActors: Array<{
194
+ actorId: string;
195
+ count: number;
196
+ }>;
197
+ topIps: Array<{
198
+ ip: string;
199
+ count: number;
200
+ }>;
201
+ }
202
+ export interface SecurityScanRun {
203
+ id: string;
204
+ startedAt: string;
205
+ completedAt?: string;
206
+ target: string;
207
+ status: "running" | "completed" | "failed";
208
+ findingCount: number;
209
+ metadata?: Record<string, unknown>;
210
+ }
211
+ export interface SecurityFinding {
212
+ id: string;
213
+ ruleId: string;
214
+ ruleName: string;
215
+ severity: SecFnSeverity;
216
+ message: string;
217
+ file: string;
218
+ line: number;
219
+ column: number;
220
+ match?: string;
221
+ redactedMatch?: string;
222
+ fingerprint: string;
223
+ context?: string;
224
+ metadata?: Record<string, unknown>;
225
+ }
226
+ export interface SecurityRuleContext {
227
+ target: ScanTarget;
228
+ content: string;
229
+ }
230
+ export interface SecurityRule {
231
+ id: string;
232
+ name: string;
233
+ description: string;
234
+ severity: SecFnSeverity;
235
+ evaluate(context: SecurityRuleContext): SecurityFinding[];
236
+ }
237
+ export interface RulePack {
238
+ id: string;
239
+ name: string;
240
+ rules: SecurityRule[];
241
+ }
242
+ export interface ScanTarget {
243
+ path: string;
244
+ displayPath?: string;
245
+ }
246
+ export type ScanFormat = "table" | "json" | "sarif";
247
+ export interface RuntimeSecretResponse {
248
+ key: string;
249
+ value: string;
250
+ environment?: SecFnEnvironment;
251
+ version: number;
252
+ }
253
+ export interface RuntimeSecretSetResponse {
254
+ name: string;
255
+ secrets: Record<string, string>;
256
+ namespace?: string;
257
+ }
258
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,18 +1,32 @@
1
1
  {
2
2
  "name": "@secfn/core",
3
- "version": "0.0.1",
4
- "description": "Comprehensive self-hosted security platform for developers",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
3
+ "version": "0.0.2",
4
+ "description": "Core contracts, encryption, scanning, and schema primitives for SecFn",
7
5
  "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "default": "./dist/index.js"
12
+ },
13
+ "./id": {
14
+ "types": "./dist/id.d.ts",
15
+ "default": "./dist/id.js"
16
+ }
17
+ },
18
+ "files": [
19
+ "dist"
20
+ ],
8
21
  "scripts": {
9
22
  "build": "tsc",
10
23
  "build:watch": "tsc --watch",
11
- "test": "vitest",
24
+ "test": "vitest run",
12
25
  "test:watch": "vitest --watch",
13
26
  "test:coverage": "vitest --coverage",
14
27
  "lint": "eslint src/**/*.ts",
15
- "typecheck": "tsc --noEmit"
28
+ "typecheck": "tsc --noEmit",
29
+ "clean": "rm -rf dist"
16
30
  },
17
31
  "keywords": [
18
32
  "security",
@@ -28,26 +42,20 @@
28
42
  "author": "21n",
29
43
  "license": "MIT",
30
44
  "dependencies": {
31
- "glob": "^11.0.0",
32
- "simple-git": "^3.27.0"
45
+ "glob": "^11.0.0"
33
46
  },
34
47
  "devDependencies": {
35
48
  "@types/node": "^20.0.0",
36
- "typescript": "^5.6.0",
37
- "vitest": "^3.2.4",
38
- "fake-indexeddb": "^6.0.0",
49
+ "@typescript-eslint/eslint-plugin": "^8.0.0",
50
+ "@typescript-eslint/parser": "^8.0.0",
39
51
  "@vitest/coverage-v8": "^3.2.4",
40
52
  "eslint": "^9.0.0",
41
- "@typescript-eslint/eslint-plugin": "^8.0.0",
42
- "@typescript-eslint/parser": "^8.0.0"
53
+ "fake-indexeddb": "^6.0.0",
54
+ "typescript": "^5.6.0",
55
+ "vitest": "^3.2.4"
43
56
  },
44
57
  "peerDependencies": {
45
- "@superfunctions/db": "^0.1.0"
46
- },
47
- "peerDependenciesMeta": {
48
- "@superfunctions/db": {
49
- "optional": true
50
- }
58
+ "@superfunctions/db": "0.1.4"
51
59
  },
52
60
  "bugs": {
53
61
  "url": "https://github.com/21nCo/super-functions/issues"
@@ -55,14 +63,9 @@
55
63
  "repository": {
56
64
  "type": "git",
57
65
  "url": "git+https://github.com/21nCo/super-functions.git",
58
- "directory": "secfn/typescript"
66
+ "directory": "secfn/core"
59
67
  },
60
68
  "publishConfig": {
61
69
  "access": "public"
62
- },
63
- "superfunctions": {
64
- "initFunction": "secFn",
65
- "schemaVersion": 1,
66
- "namespace": "secfn"
67
70
  }
68
- }
71
+ }