@autobe/agent 0.10.0 → 0.10.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 (52) hide show
  1. package/lib/constants/AutoBeSystemPromptConstant.d.ts +1 -0
  2. package/lib/constants/AutoBeSystemPromptConstant.js.map +1 -1
  3. package/lib/factory/createAutoBeApplication.js +0 -10
  4. package/lib/factory/createAutoBeApplication.js.map +1 -1
  5. package/lib/index.mjs +572 -860
  6. package/lib/index.mjs.map +1 -1
  7. package/lib/orchestrate/analyze/AutoBeAnalyzeAgent.js +0 -4
  8. package/lib/orchestrate/analyze/AutoBeAnalyzeAgent.js.map +1 -1
  9. package/lib/orchestrate/analyze/orchestrateAnalyze.js +0 -2
  10. package/lib/orchestrate/analyze/orchestrateAnalyze.js.map +1 -1
  11. package/lib/orchestrate/interface/orchestrateInterfaceComplement.js +0 -2
  12. package/lib/orchestrate/interface/orchestrateInterfaceComplement.js.map +1 -1
  13. package/lib/orchestrate/interface/orchestrateInterfaceComponents.js +0 -8
  14. package/lib/orchestrate/interface/orchestrateInterfaceComponents.js.map +1 -1
  15. package/lib/orchestrate/interface/orchestrateInterfaceEndpoints.js +0 -6
  16. package/lib/orchestrate/interface/orchestrateInterfaceEndpoints.js.map +1 -1
  17. package/lib/orchestrate/interface/orchestrateInterfaceOperations.js +0 -68
  18. package/lib/orchestrate/interface/orchestrateInterfaceOperations.js.map +1 -1
  19. package/lib/orchestrate/prisma/orchestratePrismaComponent.js +0 -6
  20. package/lib/orchestrate/prisma/orchestratePrismaComponent.js.map +1 -1
  21. package/lib/orchestrate/prisma/orchestratePrismaCorrect.js +47 -90
  22. package/lib/orchestrate/prisma/orchestratePrismaCorrect.js.map +1 -1
  23. package/lib/orchestrate/prisma/orchestratePrismaSchema.js +47 -98
  24. package/lib/orchestrate/prisma/orchestratePrismaSchema.js.map +1 -1
  25. package/lib/orchestrate/realize/orchestrateRealize.d.ts +1 -1
  26. package/lib/orchestrate/realize/orchestrateRealize.js +25 -56
  27. package/lib/orchestrate/realize/orchestrateRealize.js.map +1 -1
  28. package/lib/orchestrate/realize/orchestrateRealizeCoder.d.ts +1 -1
  29. package/lib/orchestrate/realize/orchestrateRealizeCoder.js +4 -15
  30. package/lib/orchestrate/realize/orchestrateRealizeCoder.js.map +1 -1
  31. package/lib/orchestrate/realize/structures/IAutoBeRealizeCoderApplication.d.ts +6 -0
  32. package/lib/orchestrate/test/orchestrateTestCorrect.js +0 -8
  33. package/lib/orchestrate/test/orchestrateTestCorrect.js.map +1 -1
  34. package/lib/orchestrate/test/orchestrateTestScenario.js +0 -16
  35. package/lib/orchestrate/test/orchestrateTestScenario.js.map +1 -1
  36. package/lib/orchestrate/test/orchestrateTestWrite.js +0 -15
  37. package/lib/orchestrate/test/orchestrateTestWrite.js.map +1 -1
  38. package/lib/orchestrate/test/transformTestWriteHistories.js +0 -7
  39. package/lib/orchestrate/test/transformTestWriteHistories.js.map +1 -1
  40. package/package.json +8 -12
  41. package/src/constants/AutoBeSystemPromptConstant.ts +1 -0
  42. package/src/orchestrate/realize/orchestrateRealize.ts +48 -88
  43. package/src/orchestrate/realize/orchestrateRealizeCoder.ts +5 -13
  44. package/src/orchestrate/realize/structures/IAutoBeRealizeCoderApplication.ts +10 -0
  45. package/lib/orchestrate/realize/orchestrateRealizeIntegrator.d.ts +0 -52
  46. package/lib/orchestrate/realize/orchestrateRealizeIntegrator.js +0 -57
  47. package/lib/orchestrate/realize/orchestrateRealizeIntegrator.js.map +0 -1
  48. package/lib/orchestrate/realize/orchestrateRealizeValidator.d.ts +0 -46
  49. package/lib/orchestrate/realize/orchestrateRealizeValidator.js +0 -37
  50. package/lib/orchestrate/realize/orchestrateRealizeValidator.js.map +0 -1
  51. package/src/orchestrate/realize/orchestrateRealizeIntegrator.ts +0 -75
  52. package/src/orchestrate/realize/orchestrateRealizeValidator.ts +0 -64
@@ -148,7 +148,6 @@ const claude = {
148
148
  type: "object",
149
149
  properties: {
150
150
  file: {
151
- title: "Complete definition of a single Prisma schema file",
152
151
  description: "Complete definition of a single Prisma schema file.\n\nRepresents one business domain containing related models, organized for\nmodular schema management and following domain-driven design principles.",
153
152
  $ref: "#/$defs/AutoBePrisma.IFile"
154
153
  }
@@ -163,18 +162,15 @@ const claude = {
163
162
  type: "object",
164
163
  properties: {
165
164
  filename: {
166
- title: "Name of the schema file to be generated",
167
165
  description: "Name of the schema file to be generated.\n\nShould follow the naming convention: \"schema-{number}-{domain}.prisma\"\nExamples: \"schema-02-systematic.prisma\", \"schema-03-actors.prisma\" The\nnumber indicates the dependency order for schema generation.",
168
166
  type: "string",
169
167
  pattern: "^[a-zA-Z0-9._-]+\\.prisma$"
170
168
  },
171
169
  namespace: {
172
- title: "Business domain namespace that groups related models",
173
170
  description: "Business domain namespace that groups related models.\n\nUsed in Prisma documentation comments as \"@\\namespace directive\".\nExamples from uploaded schemas: \"Systematic\", \"Actors\", \"Sales\", \"Carts\",\n\"Orders\", \"Coupons\", \"Coins\", \"Inquiries\", \"Favorites\", \"Articles\"",
174
171
  type: "string"
175
172
  },
176
173
  models: {
177
- title: "Array of Prisma models (database tables) within this domain",
178
174
  description: "Array of Prisma models (database tables) within this domain.\n\nEach model represents a business entity or concept within the namespace.\nModels can reference each other through foreign key relationships.",
179
175
  type: "array",
180
176
  items: {
@@ -193,7 +189,6 @@ const claude = {
193
189
  type: "object",
194
190
  properties: {
195
191
  name: {
196
- title: "Name of the Prisma model (database table name)",
197
192
  description: "Name of the Prisma model (database table name).\n\nShould follow snake_case convention with domain prefix. Examples:\n\"shopping_customers\", \"shopping_sale_snapshots\", \"bbs_articles\"\nMaterialized views use \"mv_\" prefix: \"mv_shopping_sale_last_snapshots\"",
198
193
  type: "string",
199
194
  pattern: "^[a-z][a-z0-9_]*$"
@@ -207,12 +202,10 @@ const claude = {
207
202
  type: "boolean"
208
203
  },
209
204
  primaryField: {
210
- title: "The primary key field of the model",
211
205
  description: "The primary key field of the model.\n\nIn all uploaded schemas, primary keys are always UUID type with \"@\\id\"\ndirective. Usually named \"id\" and marked with \"@\\db.Uuid\" for PostgreSQL\nmapping.",
212
206
  $ref: "#/$defs/AutoBePrisma.IPrimaryField"
213
207
  },
214
208
  foreignFields: {
215
- title: "Array of foreign key fields that reference other models",
216
209
  description: "Array of foreign key fields that reference other models.\n\nThese establish relationships between models and include Prisma relation\ndirectives. Can be nullable (optional relationships) or required\n(mandatory relationships). May have unique constraints for 1:1\nrelationships.",
217
210
  type: "array",
218
211
  items: {
@@ -220,7 +213,6 @@ const claude = {
220
213
  }
221
214
  },
222
215
  plainFields: {
223
- title: "Array of regular data fields that don't reference other models",
224
216
  description: "Array of regular data fields that don't reference other models.\n\nInclude business data like names, descriptions, timestamps, flags,\namounts, etc. Common patterns: created_at, updated_at, deleted_at for\nsoft deletion and auditing.",
225
217
  type: "array",
226
218
  items: {
@@ -228,7 +220,6 @@ const claude = {
228
220
  }
229
221
  },
230
222
  uniqueIndexes: {
231
- title: "Array of unique indexes for enforcing data integrity constraints",
232
223
  description: "Array of unique indexes for enforcing data integrity constraints.\n\nEnsure uniqueness across single or multiple columns. Examples: unique\nemail addresses, unique codes within a channel, unique combinations like\n(channel_id, nickname).",
233
224
  type: "array",
234
225
  items: {
@@ -236,7 +227,6 @@ const claude = {
236
227
  }
237
228
  },
238
229
  plainIndexes: {
239
- title: "Array of regular indexes for query performance optimization",
240
230
  description: "Array of regular indexes for query performance optimization.\n\nSpeed up common query patterns like filtering by foreign keys, date\nranges, or frequently searched fields. Examples: indexes on created_at,\nforeign key fields, search fields.",
241
231
  type: "array",
242
232
  items: {
@@ -244,7 +234,6 @@ const claude = {
244
234
  }
245
235
  },
246
236
  ginIndexes: {
247
- title: "Array of GIN (Generalized Inverted Index) indexes for full-text search",
248
237
  description: "Array of GIN (Generalized Inverted Index) indexes for full-text search.\n\nUsed specifically for PostgreSQL text search capabilities using trigram\noperations. Applied to text fields that need fuzzy matching or partial\ntext search. Examples: searching names, nicknames, titles, content\nbodies.",
249
238
  type: "array",
250
239
  items: {
@@ -269,18 +258,15 @@ const claude = {
269
258
  type: "object",
270
259
  properties: {
271
260
  name: {
272
- title: "Name of the primary key field",
273
261
  description: "Name of the primary key field.\n\nConsistently named \"id\" across all models in the uploaded schemas.\nRepresents the unique identifier for each record in the table.",
274
262
  type: "string",
275
263
  pattern: "^[a-z][a-z0-9_]*$"
276
264
  },
277
265
  type: {
278
- title: "Data type of the primary key field",
279
266
  description: "Data type of the primary key field.\n\nAlways \"uuid\" in the uploaded schemas for better distributed system\nsupport and to avoid exposing sequential IDs that could reveal business\ninformation.",
280
267
  "const": "uuid"
281
268
  },
282
269
  description: {
283
- title: "Description of the primary key field's purpose",
284
270
  description: "Description of the primary key field's purpose.\n\nStandard description is \"Primary Key.\" across all models. Serves as the\nunique identifier for the model instance.",
285
271
  type: "string"
286
272
  }
@@ -296,13 +282,11 @@ const claude = {
296
282
  type: "object",
297
283
  properties: {
298
284
  name: {
299
- title: "Name of the foreign key field",
300
285
  description: "Name of the foreign key field.\n\nFollows convention: \"{target_model_name_without_prefix}_id\" Examples:\n\"shopping_customer_id\", \"bbs_article_id\", \"attachment_file_id\" For\nself-references: \"parent_id\" (e.g., in hierarchical structures)",
301
286
  type: "string",
302
287
  pattern: "^[a-z][a-z0-9_]*$"
303
288
  },
304
289
  type: {
305
- title: "Data type of the foreign key field",
306
290
  description: "Data type of the foreign key field.\n\nAlways \"uuid\" to match the primary key type of referenced models. Ensures\nreferential integrity and consistency across the schema.",
307
291
  "const": "uuid"
308
292
  },
@@ -311,34 +295,14 @@ const claude = {
311
295
  type: "string"
312
296
  },
313
297
  relation: {
314
- title: "Prisma relation configuration defining the association details",
315
- description: "Prisma relation configuration defining the association details.\n\nSpecifies how this foreign key connects to the target model, including\nrelation name, target model, and target field.",
316
- type: "object",
317
- properties: {
318
- name: {
319
- title: "Name of the relation property in the Prisma model",
320
- description: "Name of the relation property in the Prisma model.\n\nUsed to access the related model instance. Usually a descriptive name\nof the relationship. Examples: \"customer\", \"channel\", \"parent\",\n\"snapshot\"",
321
- type: "string",
322
- pattern: "^[a-zA-Z_][a-zA-Z0-9_]*$"
323
- },
324
- targetModel: {
325
- title: "Name of the target model being referenced",
326
- description: "Name of the target model being referenced.\n\nMust match exactly with an existing model name in the schema. Examples:\n\"shopping_customers\", \"shopping_channels\", \"bbs_articles\"",
327
- type: "string"
328
- }
329
- },
330
- required: [
331
- "name",
332
- "targetModel"
333
- ]
298
+ description: "Prisma relation configuration defining the association details.\n\nSpecifies how this foreign key connects to the target model, including\nrelation name, target model, and target field. This configuration is used\nto generate the appropriate Prisma relation directive in the schema.",
299
+ $ref: "#/$defs/AutoBePrisma.IRelation"
334
300
  },
335
301
  unique: {
336
- title: "Whether this foreign key has a unique constraint",
337
302
  description: "Whether this foreign key has a unique constraint.\n\nTrue: Creates a 1:1 relationship (e.g., user profile, order publish\ndetails) false: Allows 1:N relationship (e.g., customer to multiple\norders) Used for enforcing business rules about relationship\ncardinality.",
338
303
  type: "boolean"
339
304
  },
340
305
  nullable: {
341
- title: "Whether this foreign key can be null (optional relationship)",
342
306
  description: "Whether this foreign key can be null (optional relationship).\n\nTrue: Relationship is optional, foreign key can be null false:\nRelationship is required, foreign key cannot be null Reflects business\nrules about mandatory vs optional associations.",
343
307
  type: "boolean"
344
308
  }
@@ -352,19 +316,36 @@ const claude = {
352
316
  "nullable"
353
317
  ]
354
318
  },
319
+ "AutoBePrisma.IRelation": {
320
+ description: "Interface representing a Prisma relation configuration between models.\n\nThis interface defines how foreign key fields establish relationships with\ntheir target models. It provides the necessary information for Prisma to\ngenerate appropriate relation directives (@relation) in the schema,\nenabling proper relational data modeling and ORM functionality.\n\nThe relation configuration is essential for:\n\n- Generating correct Prisma relation syntax\n- Establishing bidirectional relationships between models\n- Enabling proper type-safe querying through Prisma client\n- Supporting complex relationship patterns (1:1, 1:N, M:N)",
321
+ type: "object",
322
+ properties: {
323
+ name: {
324
+ description: "Name of the relation property in the Prisma model.\n\nThis becomes the property name used to access the related model instance\nthrough the Prisma client. Should be descriptive and reflect the business\nrelationship being modeled.\n\nExamples:\n\n- \"customer\" for shopping_customer_id field\n- \"channel\" for shopping_channel_id field\n- \"parent\" for parent_id field in hierarchical structures\n- \"snapshot\" for versioning relationships\n- \"article\" for bbs_article_id field\n\nNaming convention: camelCase, descriptive of the relationship's business\nmeaning",
325
+ type: "string",
326
+ pattern: "^[a-zA-Z_][a-zA-Z0-9_]*$"
327
+ },
328
+ targetModel: {
329
+ description: "Name of the target model being referenced by this relation.\n\nMust exactly match an existing model name in the schema. This is used by\nPrisma to establish the foreign key constraint and generate the\nappropriate relation mapping.\n\nExamples:\n\n- \"shopping_customers\" for customer relationships\n- \"shopping_channels\" for channel relationships\n- \"bbs_articles\" for article relationships\n- \"attachment_files\" for file attachments\n\nThe target model should exist in the same schema or be accessible through\nthe Prisma schema configuration.",
330
+ type: "string"
331
+ }
332
+ },
333
+ required: [
334
+ "name",
335
+ "targetModel"
336
+ ]
337
+ },
355
338
  "AutoBePrisma.IPlainField": {
356
339
  description: "Interface representing a regular data field that stores business\ninformation.\n\nThese fields contain the actual business data like names, amounts,\ntimestamps, flags, descriptions, and other domain-specific information.",
357
340
  type: "object",
358
341
  properties: {
359
342
  name: {
360
- title: "Name of the field in the database table",
361
343
  description: "Name of the field in the database table.\n\nShould use snake_case convention. Common patterns from uploaded schemas:\n\n- Timestamps: created_at, updated_at, deleted_at, opened_at, closed_at\n- Identifiers: code, name, nickname, title\n- Business data: value, quantity, price, volume, balance\n- Flags: primary, required, exclusive, secret, multiplicative",
362
344
  type: "string",
363
345
  pattern: "^[a-z][a-z0-9_]*$"
364
346
  },
365
347
  type: {
366
- title: "Data type of the field for Prisma schema generation",
367
- description: "Data type of the field for Prisma schema generation.\n\nMaps to appropriate Prisma/PostgreSQL types:\n\n- Boolean: Boolean flags and yes/no values\n- Int: Integer numbers, quantities, sequences\n- Double: Decimal numbers, prices, monetary values, percentages\n- String: Text data, names, descriptions, codes\n- Uri: URL/URI fields for links and references\n- Uuid: UUID fields (for non-foreign-key UUIDs)\n- Date: Date-only values (rare, mostly for business dates)\n- Datetime: Timestamp fields with date and time",
348
+ description: "Data type of the field for Prisma schema generation.\n\nMaps to appropriate Prisma/PostgreSQL types:\n\n- Boolean: Boolean flags and yes/no values\n- Int: Integer numbers, quantities, sequences\n- Double: Decimal numbers, prices, monetary values, percentages\n- String: Text data, names, descriptions, codes\n- Uri: URL/URI fields for links and references\n- Uuid: UUID fields (for non-foreign-key UUIDs)\n- Datetime: Timestamp fields with date and time",
368
349
  oneOf: [
369
350
  {
370
351
  "const": "string"
@@ -390,12 +371,10 @@ const claude = {
390
371
  ]
391
372
  },
392
373
  description: {
393
- title: "Description explaining the business purpose and usage of this field",
394
374
  description: "Description explaining the business purpose and usage of this field.\n\nShould clearly explain:\n\n- What business concept this field represents\n- Valid values or constraints if applicable\n- How it relates to business processes\n- Any special behavioral notes Example: \"Amount of cash payment.\" or\n \"Whether the unit is required or not.\"",
395
375
  type: "string"
396
376
  },
397
377
  nullable: {
398
- title: "Whether this field can contain null values",
399
378
  description: "Whether this field can contain null values.\n\nTrue: Field is optional and can be null (e.g., middle name, description)\nfalse: Field is required and cannot be null (e.g., creation timestamp,\nname) Reflects business rules about mandatory vs optional data.",
400
379
  type: "boolean"
401
380
  }
@@ -412,7 +391,6 @@ const claude = {
412
391
  type: "object",
413
392
  properties: {
414
393
  fieldNames: {
415
- title: "Array of field names that together form the unique constraint",
416
394
  description: "Array of field names that together form the unique constraint.\n\nCan be single field (e.g., [\"email\"]) or composite (e.g., [\"channel_id\",\n\"code\"]). All field names must exist in the model. Order matters for\ncomposite indexes. Examples: [\"code\"], [\"shopping_channel_id\",\n\"nickname\"], [\"email\"]",
417
395
  type: "array",
418
396
  items: {
@@ -422,7 +400,6 @@ const claude = {
422
400
  uniqueItems: true
423
401
  },
424
402
  unique: {
425
- title: "Explicit marker indicating this is a unique index",
426
403
  description: "Explicit marker indicating this is a unique index.\n\nAlways true to distinguish from regular indexes. Used by code generator\nto emit \"@@unique\" directive in Prisma schema instead of \"@@index\".",
427
404
  "const": true
428
405
  }
@@ -437,7 +414,6 @@ const claude = {
437
414
  type: "object",
438
415
  properties: {
439
416
  fieldNames: {
440
- title: "Array of field names to include in the performance index",
441
417
  description: "Array of field names to include in the performance index.\n\nCan be single field (e.g., [\"created_at\"]) or composite (e.g.,\n[\"customer_id\", \"created_at\"]). All field names must exist in the model.\nOrder matters for composite indexes and should match common query\npatterns. Examples: [\"created_at\"], [\"shopping_customer_id\",\n\"created_at\"], [\"ip\"]",
442
418
  type: "array",
443
419
  items: {
@@ -456,7 +432,6 @@ const claude = {
456
432
  type: "object",
457
433
  properties: {
458
434
  fieldName: {
459
- title: "Name of the text field to index for full-text search capabilities",
460
435
  description: "Name of the text field to index for full-text search capabilities.\n\nMust be a string field in the model that contains searchable text.\nExamples from uploaded schemas: \"nickname\", \"title\", \"body\", \"name\" Used\nwith PostgreSQL gin_trgm_ops for trigram-based fuzzy text search.",
461
436
  type: "string"
462
437
  }
@@ -642,11 +617,11 @@ const claude = {
642
617
  value: input.description
643
618
  }), ("object" === typeof input.relation && null !== input.relation || _report(_exceptionable, {
644
619
  path: _path + ".relation",
645
- expected: "__type",
620
+ expected: "AutoBePrisma.IRelation",
646
621
  value: input.relation
647
622
  })) && _vo5(input.relation, _path + ".relation", true && _exceptionable) || _report(_exceptionable, {
648
623
  path: _path + ".relation",
649
- expected: "__type",
624
+ expected: "AutoBePrisma.IRelation",
650
625
  value: input.relation
651
626
  }), "boolean" === typeof input.unique || _report(_exceptionable, {
652
627
  path: _path + ".unique",
@@ -783,7 +758,6 @@ const collection = {
783
758
  type: "object",
784
759
  properties: {
785
760
  file: {
786
- title: "Complete definition of a single Prisma schema file",
787
761
  $ref: "#/$defs/AutoBePrisma.IFile"
788
762
  }
789
763
  },
@@ -797,17 +771,14 @@ const collection = {
797
771
  type: "object",
798
772
  properties: {
799
773
  filename: {
800
- title: "Name of the schema file to be generated",
801
774
  description: "Name of the schema file to be generated.\n\nShould follow the naming convention: \"schema-{number}-{domain}.prisma\"\nExamples: \"schema-02-systematic.prisma\", \"schema-03-actors.prisma\" The\nnumber indicates the dependency order for schema generation.\n\n\n@pattern ^[a-zA-Z0-9._-]+\\.prisma$",
802
775
  type: "string"
803
776
  },
804
777
  namespace: {
805
- title: "Business domain namespace that groups related models",
806
778
  description: "Business domain namespace that groups related models.\n\nUsed in Prisma documentation comments as \"@\\namespace directive\".\nExamples from uploaded schemas: \"Systematic\", \"Actors\", \"Sales\", \"Carts\",\n\"Orders\", \"Coupons\", \"Coins\", \"Inquiries\", \"Favorites\", \"Articles\"",
807
779
  type: "string"
808
780
  },
809
781
  models: {
810
- title: "Array of Prisma models (database tables) within this domain",
811
782
  description: "Array of Prisma models (database tables) within this domain.\n\nEach model represents a business entity or concept within the namespace.\nModels can reference each other through foreign key relationships.",
812
783
  type: "array",
813
784
  items: {
@@ -826,7 +797,6 @@ const collection = {
826
797
  type: "object",
827
798
  properties: {
828
799
  name: {
829
- title: "Name of the Prisma model (database table name)",
830
800
  description: "Name of the Prisma model (database table name).\n\nShould follow snake_case convention with domain prefix. Examples:\n\"shopping_customers\", \"shopping_sale_snapshots\", \"bbs_articles\"\nMaterialized views use \"mv_\" prefix: \"mv_shopping_sale_last_snapshots\"\n\n\n@pattern ^[a-z][a-z0-9_]*$",
831
801
  type: "string"
832
802
  },
@@ -839,11 +809,9 @@ const collection = {
839
809
  type: "boolean"
840
810
  },
841
811
  primaryField: {
842
- title: "The primary key field of the model",
843
812
  $ref: "#/$defs/AutoBePrisma.IPrimaryField"
844
813
  },
845
814
  foreignFields: {
846
- title: "Array of foreign key fields that reference other models",
847
815
  description: "Array of foreign key fields that reference other models.\n\nThese establish relationships between models and include Prisma relation\ndirectives. Can be nullable (optional relationships) or required\n(mandatory relationships). May have unique constraints for 1:1\nrelationships.",
848
816
  type: "array",
849
817
  items: {
@@ -851,7 +819,6 @@ const collection = {
851
819
  }
852
820
  },
853
821
  plainFields: {
854
- title: "Array of regular data fields that don't reference other models",
855
822
  description: "Array of regular data fields that don't reference other models.\n\nInclude business data like names, descriptions, timestamps, flags,\namounts, etc. Common patterns: created_at, updated_at, deleted_at for\nsoft deletion and auditing.",
856
823
  type: "array",
857
824
  items: {
@@ -859,7 +826,6 @@ const collection = {
859
826
  }
860
827
  },
861
828
  uniqueIndexes: {
862
- title: "Array of unique indexes for enforcing data integrity constraints",
863
829
  description: "Array of unique indexes for enforcing data integrity constraints.\n\nEnsure uniqueness across single or multiple columns. Examples: unique\nemail addresses, unique codes within a channel, unique combinations like\n(channel_id, nickname).",
864
830
  type: "array",
865
831
  items: {
@@ -867,7 +833,6 @@ const collection = {
867
833
  }
868
834
  },
869
835
  plainIndexes: {
870
- title: "Array of regular indexes for query performance optimization",
871
836
  description: "Array of regular indexes for query performance optimization.\n\nSpeed up common query patterns like filtering by foreign keys, date\nranges, or frequently searched fields. Examples: indexes on created_at,\nforeign key fields, search fields.",
872
837
  type: "array",
873
838
  items: {
@@ -875,7 +840,6 @@ const collection = {
875
840
  }
876
841
  },
877
842
  ginIndexes: {
878
- title: "Array of GIN (Generalized Inverted Index) indexes for full-text search",
879
843
  description: "Array of GIN (Generalized Inverted Index) indexes for full-text search.\n\nUsed specifically for PostgreSQL text search capabilities using trigram\noperations. Applied to text fields that need fuzzy matching or partial\ntext search. Examples: searching names, nicknames, titles, content\nbodies.",
880
844
  type: "array",
881
845
  items: {
@@ -900,12 +864,10 @@ const collection = {
900
864
  type: "object",
901
865
  properties: {
902
866
  name: {
903
- title: "Name of the primary key field",
904
867
  description: "Name of the primary key field.\n\nConsistently named \"id\" across all models in the uploaded schemas.\nRepresents the unique identifier for each record in the table.\n\n\n@pattern ^[a-z][a-z0-9_]*$",
905
868
  type: "string"
906
869
  },
907
870
  type: {
908
- title: "Data type of the primary key field",
909
871
  description: "Data type of the primary key field.\n\nAlways \"uuid\" in the uploaded schemas for better distributed system\nsupport and to avoid exposing sequential IDs that could reveal business\ninformation.",
910
872
  type: "string",
911
873
  "enum": [
@@ -913,7 +875,6 @@ const collection = {
913
875
  ]
914
876
  },
915
877
  description: {
916
- title: "Description of the primary key field's purpose",
917
878
  description: "Description of the primary key field's purpose.\n\nStandard description is \"Primary Key.\" across all models. Serves as the\nunique identifier for the model instance.",
918
879
  type: "string"
919
880
  }
@@ -925,16 +886,14 @@ const collection = {
925
886
  ]
926
887
  },
927
888
  "AutoBePrisma.IForeignField": {
928
- description: "Interface representing a foreign key field that establishes relationships\nbetween models.\n\nForeign keys create associations between models, enabling relational data\nmodeling. They can represent 1:1, 1:N, or participate in M:N relationships\nthrough junction tables.",
889
+ description: "Interface representing a foreign key field that establishes relationships\nbetween models.\n\nForeign keys create associations between models, enabling relational data\nmodeling. They can represent 1:1, 1:N, or participate in M:N relationships\nthrough junction tables.\n\n### Description of {@link relation} property:\n\n> Prisma relation configuration defining the association details.\n> \n> Specifies how this foreign key connects to the target model, including\n> relation name, target model, and target field. This configuration is used\n> to generate the appropriate Prisma relation directive in the schema.",
929
890
  type: "object",
930
891
  properties: {
931
892
  name: {
932
- title: "Name of the foreign key field",
933
893
  description: "Name of the foreign key field.\n\nFollows convention: \"{target_model_name_without_prefix}_id\" Examples:\n\"shopping_customer_id\", \"bbs_article_id\", \"attachment_file_id\" For\nself-references: \"parent_id\" (e.g., in hierarchical structures)\n\n\n@pattern ^[a-z][a-z0-9_]*$",
934
894
  type: "string"
935
895
  },
936
896
  type: {
937
- title: "Data type of the foreign key field",
938
897
  description: "Data type of the foreign key field.\n\nAlways \"uuid\" to match the primary key type of referenced models. Ensures\nreferential integrity and consistency across the schema.",
939
898
  type: "string",
940
899
  "enum": [
@@ -946,33 +905,13 @@ const collection = {
946
905
  type: "string"
947
906
  },
948
907
  relation: {
949
- title: "Prisma relation configuration defining the association details",
950
- description: "Prisma relation configuration defining the association details.\n\nSpecifies how this foreign key connects to the target model, including\nrelation name, target model, and target field.",
951
- type: "object",
952
- properties: {
953
- name: {
954
- title: "Name of the relation property in the Prisma model",
955
- description: "Name of the relation property in the Prisma model.\n\nUsed to access the related model instance. Usually a descriptive name\nof the relationship. Examples: \"customer\", \"channel\", \"parent\",\n\"snapshot\"\n\n\n@pattern ^[a-zA-Z_][a-zA-Z0-9_]*$",
956
- type: "string"
957
- },
958
- targetModel: {
959
- title: "Name of the target model being referenced",
960
- description: "Name of the target model being referenced.\n\nMust match exactly with an existing model name in the schema. Examples:\n\"shopping_customers\", \"shopping_channels\", \"bbs_articles\"",
961
- type: "string"
962
- }
963
- },
964
- required: [
965
- "name",
966
- "targetModel"
967
- ]
908
+ $ref: "#/$defs/AutoBePrisma.IRelation"
968
909
  },
969
910
  unique: {
970
- title: "Whether this foreign key has a unique constraint",
971
911
  description: "Whether this foreign key has a unique constraint.\n\nTrue: Creates a 1:1 relationship (e.g., user profile, order publish\ndetails) false: Allows 1:N relationship (e.g., customer to multiple\norders) Used for enforcing business rules about relationship\ncardinality.",
972
912
  type: "boolean"
973
913
  },
974
914
  nullable: {
975
- title: "Whether this foreign key can be null (optional relationship)",
976
915
  description: "Whether this foreign key can be null (optional relationship).\n\nTrue: Relationship is optional, foreign key can be null false:\nRelationship is required, foreign key cannot be null Reflects business\nrules about mandatory vs optional associations.",
977
916
  type: "boolean"
978
917
  }
@@ -986,18 +925,34 @@ const collection = {
986
925
  "nullable"
987
926
  ]
988
927
  },
928
+ "AutoBePrisma.IRelation": {
929
+ description: "Interface representing a Prisma relation configuration between models.\n\nThis interface defines how foreign key fields establish relationships with\ntheir target models. It provides the necessary information for Prisma to\ngenerate appropriate relation directives (@relation) in the schema,\nenabling proper relational data modeling and ORM functionality.\n\nThe relation configuration is essential for:\n\n- Generating correct Prisma relation syntax\n- Establishing bidirectional relationships between models\n- Enabling proper type-safe querying through Prisma client\n- Supporting complex relationship patterns (1:1, 1:N, M:N)",
930
+ type: "object",
931
+ properties: {
932
+ name: {
933
+ description: "Name of the relation property in the Prisma model.\n\nThis becomes the property name used to access the related model instance\nthrough the Prisma client. Should be descriptive and reflect the business\nrelationship being modeled.\n\nExamples:\n\n- \"customer\" for shopping_customer_id field\n- \"channel\" for shopping_channel_id field\n- \"parent\" for parent_id field in hierarchical structures\n- \"snapshot\" for versioning relationships\n- \"article\" for bbs_article_id field\n\nNaming convention: camelCase, descriptive of the relationship's business\nmeaning\n\n\n@pattern ^[a-zA-Z_][a-zA-Z0-9_]*$",
934
+ type: "string"
935
+ },
936
+ targetModel: {
937
+ description: "Name of the target model being referenced by this relation.\n\nMust exactly match an existing model name in the schema. This is used by\nPrisma to establish the foreign key constraint and generate the\nappropriate relation mapping.\n\nExamples:\n\n- \"shopping_customers\" for customer relationships\n- \"shopping_channels\" for channel relationships\n- \"bbs_articles\" for article relationships\n- \"attachment_files\" for file attachments\n\nThe target model should exist in the same schema or be accessible through\nthe Prisma schema configuration.",
938
+ type: "string"
939
+ }
940
+ },
941
+ required: [
942
+ "name",
943
+ "targetModel"
944
+ ]
945
+ },
989
946
  "AutoBePrisma.IPlainField": {
990
947
  description: "Interface representing a regular data field that stores business\ninformation.\n\nThese fields contain the actual business data like names, amounts,\ntimestamps, flags, descriptions, and other domain-specific information.",
991
948
  type: "object",
992
949
  properties: {
993
950
  name: {
994
- title: "Name of the field in the database table",
995
951
  description: "Name of the field in the database table.\n\nShould use snake_case convention. Common patterns from uploaded schemas:\n\n- Timestamps: created_at, updated_at, deleted_at, opened_at, closed_at\n- Identifiers: code, name, nickname, title\n- Business data: value, quantity, price, volume, balance\n- Flags: primary, required, exclusive, secret, multiplicative\n\n\n@pattern ^[a-z][a-z0-9_]*$",
996
952
  type: "string"
997
953
  },
998
954
  type: {
999
- title: "Data type of the field for Prisma schema generation",
1000
- description: "Data type of the field for Prisma schema generation.\n\nMaps to appropriate Prisma/PostgreSQL types:\n\n- Boolean: Boolean flags and yes/no values\n- Int: Integer numbers, quantities, sequences\n- Double: Decimal numbers, prices, monetary values, percentages\n- String: Text data, names, descriptions, codes\n- Uri: URL/URI fields for links and references\n- Uuid: UUID fields (for non-foreign-key UUIDs)\n- Date: Date-only values (rare, mostly for business dates)\n- Datetime: Timestamp fields with date and time",
955
+ description: "Data type of the field for Prisma schema generation.\n\nMaps to appropriate Prisma/PostgreSQL types:\n\n- Boolean: Boolean flags and yes/no values\n- Int: Integer numbers, quantities, sequences\n- Double: Decimal numbers, prices, monetary values, percentages\n- String: Text data, names, descriptions, codes\n- Uri: URL/URI fields for links and references\n- Uuid: UUID fields (for non-foreign-key UUIDs)\n- Datetime: Timestamp fields with date and time",
1001
956
  type: "string",
1002
957
  "enum": [
1003
958
  "string",
@@ -1010,12 +965,10 @@ const collection = {
1010
965
  ]
1011
966
  },
1012
967
  description: {
1013
- title: "Description explaining the business purpose and usage of this field",
1014
968
  description: "Description explaining the business purpose and usage of this field.\n\nShould clearly explain:\n\n- What business concept this field represents\n- Valid values or constraints if applicable\n- How it relates to business processes\n- Any special behavioral notes Example: \"Amount of cash payment.\" or\n \"Whether the unit is required or not.\"",
1015
969
  type: "string"
1016
970
  },
1017
971
  nullable: {
1018
- title: "Whether this field can contain null values",
1019
972
  description: "Whether this field can contain null values.\n\nTrue: Field is optional and can be null (e.g., middle name, description)\nfalse: Field is required and cannot be null (e.g., creation timestamp,\nname) Reflects business rules about mandatory vs optional data.",
1020
973
  type: "boolean"
1021
974
  }
@@ -1032,7 +985,6 @@ const collection = {
1032
985
  type: "object",
1033
986
  properties: {
1034
987
  fieldNames: {
1035
- title: "Array of field names that together form the unique constraint",
1036
988
  description: "Array of field names that together form the unique constraint.\n\nCan be single field (e.g., [\"email\"]) or composite (e.g., [\"channel_id\",\n\"code\"]). All field names must exist in the model. Order matters for\ncomposite indexes. Examples: [\"code\"], [\"shopping_channel_id\",\n\"nickname\"], [\"email\"]\n\n\n@minItems 1\n@uniqueItems",
1037
989
  type: "array",
1038
990
  items: {
@@ -1040,7 +992,6 @@ const collection = {
1040
992
  }
1041
993
  },
1042
994
  unique: {
1043
- title: "Explicit marker indicating this is a unique index",
1044
995
  description: "Explicit marker indicating this is a unique index.\n\nAlways true to distinguish from regular indexes. Used by code generator\nto emit \"@@unique\" directive in Prisma schema instead of \"@@index\".",
1045
996
  type: "boolean",
1046
997
  "enum": [
@@ -1058,7 +1009,6 @@ const collection = {
1058
1009
  type: "object",
1059
1010
  properties: {
1060
1011
  fieldNames: {
1061
- title: "Array of field names to include in the performance index",
1062
1012
  description: "Array of field names to include in the performance index.\n\nCan be single field (e.g., [\"created_at\"]) or composite (e.g.,\n[\"customer_id\", \"created_at\"]). All field names must exist in the model.\nOrder matters for composite indexes and should match common query\npatterns. Examples: [\"created_at\"], [\"shopping_customer_id\",\n\"created_at\"], [\"ip\"]\n\n\n@minItems 1\n@uniqueItems",
1063
1013
  type: "array",
1064
1014
  items: {
@@ -1075,7 +1025,6 @@ const collection = {
1075
1025
  type: "object",
1076
1026
  properties: {
1077
1027
  fieldName: {
1078
- title: "Name of the text field to index for full-text search capabilities",
1079
1028
  description: "Name of the text field to index for full-text search capabilities.\n\nMust be a string field in the model that contains searchable text.\nExamples from uploaded schemas: \"nickname\", \"title\", \"body\", \"name\" Used\nwith PostgreSQL gin_trgm_ops for trigram-based fuzzy text search.",
1080
1029
  type: "string"
1081
1030
  }
@@ -1261,11 +1210,11 @@ const collection = {
1261
1210
  value: input.description
1262
1211
  }), ("object" === typeof input.relation && null !== input.relation || _report(_exceptionable, {
1263
1212
  path: _path + ".relation",
1264
- expected: "__type",
1213
+ expected: "AutoBePrisma.IRelation",
1265
1214
  value: input.relation
1266
1215
  })) && _vo5(input.relation, _path + ".relation", true && _exceptionable) || _report(_exceptionable, {
1267
1216
  path: _path + ".relation",
1268
- expected: "__type",
1217
+ expected: "AutoBePrisma.IRelation",
1269
1218
  value: input.relation
1270
1219
  }), "boolean" === typeof input.unique || _report(_exceptionable, {
1271
1220
  path: _path + ".unique",
@@ -1 +1 @@
1
- {"version":3,"file":"orchestratePrismaSchema.js","sourceRoot":"","sources":["../../../src/orchestrate/prisma/orchestratePrismaSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestratePrismaSchema.js","sourceRoot":"","sources":["../../../src/orchestrate/prisma/orchestratePrismaSchema.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,4 @@ export type FAILED = typeof FAILED;
8
8
  export declare function pipe<A, B>(a: A, ab: (a: A) => Promise<B | FAILED>): Promise<B | FAILED>;
9
9
  export declare function pipe<A, B, C>(a: A, ab: (a: A) => Promise<B | FAILED>, bc: (b: B) => Promise<C | FAILED>): Promise<C | FAILED>;
10
10
  export declare function pipe<A, B, C, D>(a: A, ab: (a: A) => Promise<B | FAILED>, bc: (b: B) => Promise<C | FAILED>, cd: (c: C) => Promise<D | FAILED>): Promise<D | FAILED>;
11
- export declare function pipe<A, B, C, D, E>(a: A, ab: (a: A) => Promise<B | FAILED>, bc: (b: B) => Promise<C | FAILED>, cd: (c: C) => Promise<D | FAILED>, de: (d: D) => Promise<E | FAILED>): Promise<E | FAILED>;
11
+ export declare function pipe<A, B, C, D>(a: A, ab: (a: A) => Promise<B | FAILED>, bc: (b: B) => Promise<C | FAILED>, cd: (c: C) => Promise<D | FAILED>): Promise<D | FAILED>;