@opensaas/stack-core 0.3.0 → 0.4.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 (47) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +150 -0
  3. package/dist/access/engine.d.ts +1 -1
  4. package/dist/access/engine.d.ts.map +1 -1
  5. package/dist/access/engine.js +38 -0
  6. package/dist/access/engine.js.map +1 -1
  7. package/dist/config/index.d.ts +5 -5
  8. package/dist/config/index.d.ts.map +1 -1
  9. package/dist/config/index.js +0 -1
  10. package/dist/config/index.js.map +1 -1
  11. package/dist/config/plugin-engine.d.ts.map +1 -1
  12. package/dist/config/plugin-engine.js +3 -0
  13. package/dist/config/plugin-engine.js.map +1 -1
  14. package/dist/config/types.d.ts +159 -73
  15. package/dist/config/types.d.ts.map +1 -1
  16. package/dist/context/index.d.ts.map +1 -1
  17. package/dist/context/index.js +19 -6
  18. package/dist/context/index.js.map +1 -1
  19. package/dist/context/nested-operations.d.ts.map +1 -1
  20. package/dist/context/nested-operations.js +88 -72
  21. package/dist/context/nested-operations.js.map +1 -1
  22. package/dist/fields/index.d.ts +65 -9
  23. package/dist/fields/index.d.ts.map +1 -1
  24. package/dist/fields/index.js +89 -8
  25. package/dist/fields/index.js.map +1 -1
  26. package/dist/index.d.ts +1 -1
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/mcp/handler.js +1 -0
  30. package/dist/mcp/handler.js.map +1 -1
  31. package/dist/validation/schema.d.ts.map +1 -1
  32. package/dist/validation/schema.js +4 -2
  33. package/dist/validation/schema.js.map +1 -1
  34. package/package.json +7 -7
  35. package/src/access/engine.ts +48 -3
  36. package/src/config/index.ts +8 -13
  37. package/src/config/plugin-engine.ts +6 -3
  38. package/src/config/types.ts +208 -109
  39. package/src/context/index.ts +14 -7
  40. package/src/context/nested-operations.ts +83 -71
  41. package/src/fields/index.ts +124 -20
  42. package/src/index.ts +9 -0
  43. package/src/mcp/handler.ts +2 -1
  44. package/src/validation/schema.ts +4 -2
  45. package/tests/field-types.test.ts +6 -5
  46. package/tests/sudo.test.ts +230 -1
  47. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/mcp/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/mcp/handler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/validation/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAErD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACzC,SAAS,GAAE,QAAQ,GAAG,QAAmB,GACxC,CAAC,CAAC,SAAS,CAsBb;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACzC,SAAS,GAAE,QAAQ,GAAG,QAAmB,GACxC;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAiBxE"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/validation/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAErD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACzC,SAAS,GAAE,QAAQ,GAAG,QAAmB,GACxC,CAAC,CAAC,SAAS,CAwBb;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACzC,SAAS,GAAE,QAAQ,GAAG,QAAmB,GACxC;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAiBxE"}
@@ -5,9 +5,11 @@ import { z } from 'zod';
5
5
  export function generateZodSchema(fieldConfigs, operation = 'create') {
6
6
  const shape = {};
7
7
  for (const [fieldName, fieldConfig] of Object.entries(fieldConfigs)) {
8
- // Skip system fields and relationships
8
+ // Skip system fields, relationships, and virtual fields
9
+ // Virtual fields don't accept input - they only compute output
9
10
  if (['id', 'createdAt', 'updatedAt'].includes(fieldName) ||
10
- fieldConfig.type === 'relationship') {
11
+ fieldConfig.type === 'relationship' ||
12
+ fieldConfig.virtual) {
11
13
  continue;
12
14
  }
13
15
  // Use the field's schema generator
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/validation/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAAyC,EACzC,YAAiC,QAAQ;IAEzC,MAAM,KAAK,GAAiC,EAAE,CAAA;IAE9C,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACpE,uCAAuC;QACvC,IACE,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;YACpD,WAAW,CAAC,IAAI,KAAK,cAAc,EACnC,CAAC;YACD,SAAQ;QACV,CAAC;QAED,mCAAmC;QACnC,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;YAC7B,KAAK,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QACnE,CAAC;aAAM,CAAC;YACN,4DAA4D;YAC5D,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAA;QACvC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACxB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,IAA6B,EAC7B,YAAyC,EACzC,YAAiC,QAAQ;IAEzC,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;IAEzD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAErC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC;IAED,sDAAsD;IACtD,MAAM,MAAM,GAA2B,EAAE,CAAA;IACzC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACtC,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,OAAO,CAAA;IACnC,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;AACnC,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/validation/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAAyC,EACzC,YAAiC,QAAQ;IAEzC,MAAM,KAAK,GAAiC,EAAE,CAAA;IAE9C,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACpE,wDAAwD;QACxD,+DAA+D;QAC/D,IACE,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;YACpD,WAAW,CAAC,IAAI,KAAK,cAAc;YACnC,WAAW,CAAC,OAAO,EACnB,CAAC;YACD,SAAQ;QACV,CAAC;QAED,mCAAmC;QACnC,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;YAC7B,KAAK,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QACnE,CAAC;aAAM,CAAC;YACN,4DAA4D;YAC5D,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAA;QACvC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACxB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,IAA6B,EAC7B,YAAyC,EACzC,YAAiC,QAAQ;IAEzC,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;IAEzD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAErC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC;IAED,sDAAsD;IACtD,MAAM,MAAM,GAA2B,EAAE,CAAA;IACzC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACtC,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,OAAO,CAAA;IACnC,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;AACnC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensaas/stack-core",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Core stack for OpenSaas - schema definition, access control, and runtime utilities",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -44,15 +44,15 @@
44
44
  "@prisma/client": "^6.17.0 || ^7.0.0"
45
45
  },
46
46
  "dependencies": {
47
- "bcryptjs": "^3.0.2",
48
- "zod": "^4.1.12"
47
+ "bcryptjs": "^3.0.3",
48
+ "zod": "^4.1.13"
49
49
  },
50
50
  "devDependencies": {
51
- "@prisma/client": "^7.0.0",
52
- "@types/node": "^24.7.2",
53
- "@vitest/coverage-v8": "^4.0.4",
51
+ "@prisma/client": "^7.1.0",
52
+ "@types/node": "^24.10.1",
53
+ "@vitest/coverage-v8": "^4.0.15",
54
54
  "typescript": "^5.9.3",
55
- "vitest": "^4.0.0"
55
+ "vitest": "^4.0.15"
56
56
  },
57
57
  "scripts": {
58
58
  "build": "tsc",
@@ -40,7 +40,8 @@ export function isPrismaFilter(value: unknown): value is PrismaFilter {
40
40
  export function getRelatedListConfig(
41
41
  relationshipRef: string,
42
42
  config: OpenSaasConfig,
43
- ): { listName: string; listConfig: ListConfig } | null {
43
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
44
+ ): { listName: string; listConfig: ListConfig<any> } | null {
44
45
  // Parse ref format: "ListName.fieldName"
45
46
  const parts = relationshipRef.split('.')
46
47
  if (parts.length !== 2) {
@@ -209,7 +210,7 @@ export async function buildIncludeWithAccessControl(
209
210
  for (const [fieldName, fieldConfig] of Object.entries(fieldConfigs)) {
210
211
  if (fieldConfig?.type === 'relationship' && 'ref' in fieldConfig && fieldConfig.ref) {
211
212
  hasRelationships = true
212
- const relatedConfig = getRelatedListConfig(fieldConfig.ref, config)
213
+ const relatedConfig = getRelatedListConfig(fieldConfig.ref as string, config)
213
214
 
214
215
  if (relatedConfig) {
215
216
  // Check query access for the related list
@@ -271,6 +272,7 @@ export async function filterReadableFields<T extends Record<string, unknown>>(
271
272
  const filtered: Record<string, unknown> = {}
272
273
  const MAX_DEPTH = 5 // Prevent infinite recursion
273
274
 
275
+ // Process existing fields from the database result
274
276
  for (const [fieldName, value] of Object.entries(item)) {
275
277
  const fieldConfig = fieldConfigs[fieldName]
276
278
 
@@ -302,7 +304,7 @@ export async function filterReadableFields<T extends Record<string, unknown>>(
302
304
  value !== undefined &&
303
305
  depth < MAX_DEPTH
304
306
  ) {
305
- const relatedConfig = getRelatedListConfig(fieldConfig.ref, config)
307
+ const relatedConfig = getRelatedListConfig(fieldConfig.ref as string, config)
306
308
 
307
309
  if (relatedConfig) {
308
310
  // For many relationships (arrays) - recursively filter fields in each item
@@ -357,6 +359,43 @@ export async function filterReadableFields<T extends Record<string, unknown>>(
357
359
  }
358
360
  }
359
361
 
362
+ // Process virtual fields - compute values from other fields
363
+ // Virtual fields don't exist in the database result, so we need to compute them separately
364
+ for (const [fieldName, fieldConfig] of Object.entries(fieldConfigs)) {
365
+ // Skip if already processed (from database result)
366
+ if (fieldName in filtered) {
367
+ continue
368
+ }
369
+
370
+ // Only process virtual fields
371
+ if (!fieldConfig.virtual) {
372
+ continue
373
+ }
374
+
375
+ // Check field access
376
+ const canRead = await checkFieldAccess(fieldConfig.access, 'read', {
377
+ ...args,
378
+ item,
379
+ })
380
+
381
+ if (!canRead) {
382
+ continue
383
+ }
384
+
385
+ // Virtual fields must have resolveOutput hook to compute their value
386
+ if (fieldConfig.hooks?.resolveOutput && listKey) {
387
+ const hook = fieldConfig.hooks.resolveOutput as unknown as ResolveOutputHookRuntime
388
+ filtered[fieldName] = hook({
389
+ value: undefined, // Virtual fields don't have a database value
390
+ operation: 'query',
391
+ fieldName,
392
+ listKey,
393
+ item: filtered, // Pass filtered item so virtual field can access other fields
394
+ context: args.context,
395
+ })
396
+ }
397
+ }
398
+
360
399
  return filtered as Partial<T>
361
400
  }
362
401
 
@@ -396,6 +435,12 @@ export async function filterWritableFields<T extends Record<string, unknown>>(
396
435
  continue
397
436
  }
398
437
 
438
+ // Skip virtual fields - they don't store in database
439
+ // Virtual fields with resolveInput hooks handle side effects separately
440
+ if (fieldConfig && 'virtual' in fieldConfig && fieldConfig.virtual) {
441
+ continue
442
+ }
443
+
399
444
  // Skip foreign key fields (e.g., authorId) when their corresponding relationship field exists
400
445
  // This prevents conflicts when using Prisma's relation syntax (e.g., author: { connect: { id } })
401
446
  if (foreignKeyFields.has(fieldName)) {
@@ -1,4 +1,4 @@
1
- import type { OpenSaasConfig, ListConfig, FieldConfig, OperationAccess, Hooks } from './types.js'
1
+ import type { OpenSaasConfig, ListConfig, OperationAccess, Hooks } from './types.js'
2
2
  import { executePlugins } from './plugin-engine.js'
3
3
 
4
4
  /**
@@ -63,24 +63,17 @@ export function config(userConfig: OpenSaasConfig): OpenSaasConfig | Promise<Ope
63
63
  * })
64
64
  * ```
65
65
  */
66
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
67
- export function list<
68
- TTypeInfo extends import('./types.js').TypeInfo = import('./types.js').TypeInfo,
69
- >(config: {
70
- fields: Record<string, FieldConfig>
66
+ export function list<TTypeInfo extends import('./types.js').TypeInfo>(config: {
67
+ fields: import('./types.js').FieldsWithTypeInfo<TTypeInfo>
71
68
  access?: {
72
69
  operation?: OperationAccess<TTypeInfo['item']>
73
70
  }
74
71
  hooks?: Hooks<TTypeInfo['item'], TTypeInfo['inputs']['create'], TTypeInfo['inputs']['update']>
75
72
  mcp?: import('./types.js').ListMcpConfig
76
- }): ListConfig<TTypeInfo['item'], TTypeInfo['inputs']['create'], TTypeInfo['inputs']['update']> {
73
+ }): ListConfig<TTypeInfo> {
77
74
  // At runtime, field configs are unchanged
78
75
  // At type level, they're transformed to inject TypeInfo types
79
- return config as ListConfig<
80
- TTypeInfo['item'],
81
- TTypeInfo['inputs']['create'],
82
- TTypeInfo['inputs']['update']
83
- >
76
+ return config as ListConfig<TTypeInfo>
84
77
  }
85
78
 
86
79
  // Re-export all types
@@ -96,11 +89,13 @@ export type {
96
89
  PasswordField,
97
90
  SelectField,
98
91
  RelationshipField,
92
+ JsonField,
93
+ VirtualField,
99
94
  TypeInfo,
100
95
  OperationAccess,
101
96
  Hooks,
102
97
  FieldHooks,
103
- FieldsWithItemType,
98
+ FieldsWithTypeInfo,
104
99
  DatabaseConfig,
105
100
  SessionConfig,
106
101
  UIConfig,
@@ -168,7 +168,8 @@ export async function executePlugins(config: OpenSaasConfig): Promise<OpenSaasCo
168
168
  }
169
169
 
170
170
  // Field type registry (for third-party fields)
171
- const fieldTypeRegistry = new Map<string, (options?: unknown) => BaseFieldConfig>()
171
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Registry must accept any field config builder
172
+ const fieldTypeRegistry = new Map<string, (options?: unknown) => BaseFieldConfig<any>>()
172
173
 
173
174
  // MCP tools registry
174
175
  const mcpToolsRegistry: McpCustomTool[] = []
@@ -178,7 +179,8 @@ export async function executePlugins(config: OpenSaasConfig): Promise<OpenSaasCo
178
179
  const context: PluginContext = {
179
180
  config: currentConfig,
180
181
 
181
- addList: (name: string, listConfig: ListConfig) => {
182
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Plugin context must accept any list config
183
+ addList: (name: string, listConfig: ListConfig<any>) => {
182
184
  if (currentConfig.lists[name]) {
183
185
  throw new Error(
184
186
  `Plugin "${plugin.name}" tried to add list "${name}" but it already exists. Use extendList() to modify existing lists.`,
@@ -224,7 +226,8 @@ export async function executePlugins(config: OpenSaasConfig): Promise<OpenSaasCo
224
226
  }
225
227
  },
226
228
 
227
- registerFieldType: (type: string, builder: (options?: unknown) => BaseFieldConfig) => {
229
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Field type registry must accept any field config
230
+ registerFieldType: (type: string, builder: (options?: unknown) => BaseFieldConfig<any>) => {
228
231
  if (fieldTypeRegistry.has(type)) {
229
232
  throw new Error(
230
233
  `Plugin "${plugin.name}" tried to register field type "${type}" but it's already registered`,