@api-client/core 0.18.25 → 0.18.27

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 (44) hide show
  1. package/build/src/modeling/Semantics.d.ts +193 -0
  2. package/build/src/modeling/Semantics.d.ts.map +1 -1
  3. package/build/src/modeling/Semantics.js +134 -0
  4. package/build/src/modeling/Semantics.js.map +1 -1
  5. package/build/src/modeling/helpers/Intelisense.d.ts +7 -7
  6. package/build/src/modeling/helpers/Intelisense.d.ts.map +1 -1
  7. package/build/src/modeling/helpers/Intelisense.js.map +1 -1
  8. package/build/src/modeling/templates/meta/blog-publishing-platform.json +1 -1
  9. package/build/src/modeling/templates/meta/financial-services-platform.json +1 -1
  10. package/build/src/modeling/templates/meta/index.d.ts +1 -1
  11. package/build/src/modeling/templates/meta/index.js +1 -1
  12. package/build/src/modeling/templates/meta/index.js.map +1 -1
  13. package/build/src/modeling/templates/meta/iot-smart-home-platform.json +1 -1
  14. package/build/src/modeling/templates/verticals/business-services/financial-services-domain.d.ts.map +1 -1
  15. package/build/src/modeling/templates/verticals/business-services/financial-services-domain.js +249 -63
  16. package/build/src/modeling/templates/verticals/business-services/financial-services-domain.js.map +1 -1
  17. package/build/src/modeling/templates/verticals/technology-media/blog-domain.d.ts.map +1 -1
  18. package/build/src/modeling/templates/verticals/technology-media/blog-domain.js +17 -9
  19. package/build/src/modeling/templates/verticals/technology-media/blog-domain.js.map +1 -1
  20. package/build/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.d.ts.map +1 -1
  21. package/build/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.js +2 -0
  22. package/build/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.js.map +1 -1
  23. package/build/src/modeling/validation/postgresql.d.ts.map +1 -1
  24. package/build/src/modeling/validation/postgresql.js +0 -1
  25. package/build/src/modeling/validation/postgresql.js.map +1 -1
  26. package/build/src/runtime/modeling/Semantics.d.ts +84 -0
  27. package/build/src/runtime/modeling/Semantics.d.ts.map +1 -0
  28. package/build/src/runtime/modeling/Semantics.js +124 -0
  29. package/build/src/runtime/modeling/Semantics.js.map +1 -0
  30. package/build/tsconfig.tsbuildinfo +1 -1
  31. package/data/models/example-generator-api.json +14 -14
  32. package/package.json +1 -1
  33. package/src/modeling/Semantics.ts +262 -0
  34. package/src/modeling/helpers/Intelisense.ts +7 -7
  35. package/src/modeling/templates/meta/blog-publishing-platform.json +1 -1
  36. package/src/modeling/templates/meta/financial-services-platform.json +1 -1
  37. package/src/modeling/templates/meta/iot-smart-home-platform.json +1 -1
  38. package/src/modeling/templates/verticals/business-services/financial-services-domain.ts +286 -65
  39. package/src/modeling/templates/verticals/technology-media/blog-domain.ts +17 -9
  40. package/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.ts +2 -0
  41. package/src/modeling/validation/postgresql.ts +0 -1
  42. package/src/runtime/modeling/Semantics.ts +196 -0
  43. package/tests/unit/modeling/client_ip_address_semantic.spec.ts +71 -0
  44. package/tests/unit/modeling/username_semantic.spec.ts +81 -0
@@ -1 +1 @@
1
- { "id": "financial-services-platform", "name": "Financial Services Platform", "description": "A comprehensive financial services platform with account management, transaction processing, customer management, investment portfolios, and compliance features. Perfect for banks, credit unions, and fintech companies.", "createdAt": "2025-01-27T00:00:00.000Z", "updatedAt": "2025-01-27T00:00:00.000Z", "version": "1.0.0", "author": "API Now! Core Team", "tags": ["finance", "banking", "investment", "compliance", "fraud-detection", "kyc"], "structure": { "domain": { "name": "Financial Services Platform", "description": "A comprehensive financial services platform with account management, transaction processing, customer management, investment portfolios, and compliance features", "totalEntities": 14, "totalProperties": 104, "totalAssociations": 14 }, "namespaces": [{ "name": "CustomerManagement", "displayName": "Customer Management", "description": "Customer profiles, KYC, risk assessment, and segmentation", "modelCount": 1, "entityCount": 3, "models": [{ "name": "Customers", "displayName": "Customer Management", "description": "Customer profiles and information", "entityCount": 3, "entities": [{ "name": "customer", "displayName": "Customer", "description": "Financial services customer with KYC and risk profile", "propertyCount": 15, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Customer ID", "description": "Unique identifier for the customer", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "first_name", "displayName": "First Name", "description": "Customer first name", "type": "string", "semantics": [] }, { "name": "last_name", "displayName": "Last Name", "description": "Customer last name", "type": "string", "semantics": [] }, { "name": "date_of_birth", "displayName": "Date of Birth", "description": "Customer date of birth", "type": "date", "required": true, "semantics": [] }, { "name": "ssn", "displayName": "Social Security Number", "description": "Customer SSN for identification", "type": "string", "required": true, "writeOnly": true, "semantics": [] }, { "name": "email", "displayName": "Email Address", "description": "Customer email address", "type": "string", "required": true, "semantics": ["Semantic#Email"] }, { "name": "phone", "displayName": "Phone Number", "description": "Customer phone number", "type": "string", "semantics": ["Semantic#Phone"] }, { "name": "address", "displayName": "Address", "description": "Customer residential address", "type": "string", "required": true, "semantics": [] }, { "name": "city", "displayName": "City", "description": "Customer city", "type": "string", "required": true, "semantics": [] }, { "name": "state", "displayName": "State", "description": "Customer state", "type": "string", "required": true, "semantics": [] }, { "name": "zip_code", "displayName": "ZIP Code", "description": "Customer ZIP code", "type": "string", "required": true, "semantics": [] }, { "name": "status", "displayName": "Customer Status", "description": "Current status of the customer account", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive", "suspended", "pending_verification"], "defaultValue": "active" }, { "name": "customer_type", "displayName": "Customer Type", "description": "Type of customer account", "type": "string", "required": true, "semantics": [], "enumValues": ["individual", "business", "trust", "partnership"] }, { "name": "created_at", "displayName": "Created At", "description": "When the customer account was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }, { "name": "updated_at", "displayName": "Updated At", "description": "When the customer account was last updated", "type": "datetime", "readOnly": true, "semantics": ["Semantic#UpdatedTimestamp"] }], "associations": [], "semantics": [] }, { "name": "kyc", "displayName": "KYC Record", "description": "Know Your Customer verification and documentation", "propertyCount": 6, "associationCount": 1, "properties": [{ "name": "id", "displayName": "KYC ID", "description": "Unique identifier for the KYC record", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "status", "displayName": "KYC Status", "description": "Current status of KYC verification", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["pending", "verified", "rejected", "expired"], "defaultValue": "pending" }, { "name": "verification_date", "displayName": "Verification Date", "description": "Date when KYC was verified", "type": "date", "semantics": [] }, { "name": "document_type", "displayName": "Document Type", "description": "Type of identification document", "type": "string", "required": true, "semantics": [], "enumValues": ["passport", "drivers_license", "national_id", "utility_bill", "bank_statement"] }, { "name": "document_number", "displayName": "Document Number", "description": "Document identification number", "type": "string", "required": true, "semantics": [] }, { "name": "created_at", "displayName": "Created At", "description": "When the KYC record was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "customer", "displayName": "Customer", "description": "Customer for this KYC record", "required": true, "multiple": false, "targetEntities": ["customer"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "risk_profile", "displayName": "Risk Profile", "description": "Customer risk assessment and scoring", "propertyCount": 6, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Risk Profile ID", "description": "Unique identifier for the risk profile", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "risk_score", "displayName": "Risk Score", "description": "Numerical risk score (1-100)", "type": "number", "required": true, "semantics": [] }, { "name": "status", "displayName": "Risk Level", "description": "Risk level classification", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["low", "medium", "high", "very_high"], "defaultValue": "low" }, { "name": "assessment_date", "displayName": "Assessment Date", "description": "Date when risk was assessed", "type": "date", "required": true, "semantics": [] }, { "name": "description", "displayName": "Description", "description": "Risk assessment notes and factors", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "created_at", "displayName": "Created At", "description": "When the risk profile was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "customer", "displayName": "Customer", "description": "Customer for this risk profile", "required": true, "multiple": false, "targetEntities": ["customer"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }, { "name": "AccountManagement", "displayName": "Account Management", "description": "Bank accounts, investment accounts, and credit cards", "modelCount": 1, "entityCount": 3, "models": [{ "name": "Accounts", "displayName": "Account Management", "description": "Financial accounts and products", "entityCount": 3, "entities": [{ "name": "bank_account", "displayName": "Bank Account", "description": "Checking and savings accounts", "propertyCount": 9, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Account ID", "description": "Unique identifier for the account", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "account_number", "displayName": "Account Number", "description": "Bank account number", "type": "string", "required": true, "unique": true, "semantics": [] }, { "name": "routing_number", "displayName": "Routing Number", "description": "Bank routing number", "type": "string", "required": true, "semantics": [] }, { "name": "account_type", "displayName": "Account Type", "description": "Type of bank account", "type": "string", "required": true, "semantics": [], "enumValues": ["checking", "savings", "money_market", "cd"] }, { "name": "balance", "displayName": "Account Balance", "description": "Current account balance", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "available_balance", "displayName": "Available Balance", "description": "Available balance for transactions", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "status", "displayName": "Account Status", "description": "Current status of the account", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive", "frozen", "closed"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the account was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }, { "name": "updated_at", "displayName": "Updated At", "description": "When the account was last updated", "type": "datetime", "readOnly": true, "semantics": ["Semantic#UpdatedTimestamp"] }], "associations": [{ "name": "customer", "displayName": "Account Holder", "description": "Customer who owns this account", "required": true, "multiple": false, "targetEntities": ["customer"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "investment_account", "displayName": "Investment Account", "description": "Investment and brokerage accounts", "propertyCount": 7, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Investment Account ID", "description": "Unique identifier for the investment account", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "account_number", "displayName": "Account Number", "description": "Investment account number", "type": "string", "required": true, "unique": true, "semantics": [] }, { "name": "account_type", "displayName": "Account Type", "description": "Type of investment account", "type": "string", "required": true, "semantics": [], "enumValues": ["individual", "joint", "ira", "401k", "roth_ira"] }, { "name": "total_value", "displayName": "Total Portfolio Value", "description": "Total value of all investments", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "cash_balance", "displayName": "Cash Balance", "description": "Available cash balance", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "status", "displayName": "Account Status", "description": "Current status of the investment account", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive", "suspended", "closed"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the investment account was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "customer", "displayName": "Account Holder", "description": "Customer who owns this investment account", "required": true, "multiple": false, "targetEntities": ["customer"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "credit_card", "displayName": "Credit Card", "description": "Credit card accounts and lines of credit", "propertyCount": 8, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Credit Card ID", "description": "Unique identifier for the credit card", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "card_number", "displayName": "Card Number", "description": "Credit card number (masked)", "type": "string", "required": true, "writeOnly": true, "semantics": [] }, { "name": "credit_limit", "displayName": "Credit Limit", "description": "Total credit limit", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "available_credit", "displayName": "Available Credit", "description": "Available credit remaining", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "current_balance", "displayName": "Current Balance", "description": "Current outstanding balance", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "apr", "displayName": "APR", "description": "Annual Percentage Rate", "type": "number", "required": true, "semantics": [] }, { "name": "status", "displayName": "Card Status", "description": "Current status of the credit card", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive", "suspended", "closed"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the credit card was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "customer", "displayName": "Cardholder", "description": "Customer who owns this credit card", "required": true, "multiple": false, "targetEntities": ["customer"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }, { "name": "TransactionProcessing", "displayName": "Transaction Processing", "description": "Payments, transfers, deposits, and withdrawals", "modelCount": 1, "entityCount": 2, "models": [{ "name": "Transactions", "displayName": "Transaction Management", "description": "Financial transactions and transfers", "entityCount": 2, "entities": [{ "name": "transaction", "displayName": "Transaction", "description": "Financial transaction record", "propertyCount": 9, "associationCount": 2, "properties": [{ "name": "id", "displayName": "Transaction ID", "description": "Unique identifier for the transaction", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "transaction_number", "displayName": "Transaction Number", "description": "Human-readable transaction number", "type": "string", "required": true, "unique": true, "semantics": [] }, { "name": "status", "displayName": "Transaction Status", "description": "Current status of the transaction", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["pending", "processing", "completed", "failed", "cancelled"], "defaultValue": "pending" }, { "name": "transaction_type", "displayName": "Transaction Type", "description": "Type of financial transaction", "type": "string", "required": true, "semantics": [], "enumValues": ["deposit", "withdrawal", "transfer", "payment", "fee"] }, { "name": "amount", "displayName": "Transaction Amount", "description": "Amount of the transaction", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "description", "displayName": "Description", "description": "Transaction description", "type": "string", "semantics": [] }, { "name": "transaction_date", "displayName": "Transaction Date", "description": "Date when transaction occurred", "type": "date", "required": true, "semantics": [] }, { "name": "reference_number", "displayName": "Reference Number", "description": "External reference number", "type": "string", "semantics": [] }, { "name": "created_at", "displayName": "Created At", "description": "When the transaction was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "customer", "displayName": "Customer", "description": "Customer who initiated the transaction", "required": true, "multiple": false, "targetEntities": ["customer"], "semantics": [], "cardinality": "One-to-One" }, { "name": "account", "displayName": "Account", "description": "Account involved in the transaction", "required": true, "multiple": false, "targetEntities": ["bank_account"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "transfer", "displayName": "Transfer", "description": "Money transfers between accounts", "propertyCount": 5, "associationCount": 2, "properties": [{ "name": "id", "displayName": "Transfer ID", "description": "Unique identifier for the transfer", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "status", "displayName": "Transfer Status", "description": "Current status of the transfer", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["pending", "processing", "completed", "failed", "cancelled"], "defaultValue": "pending" }, { "name": "amount", "displayName": "Transfer Amount", "description": "Amount being transferred", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "transfer_date", "displayName": "Transfer Date", "description": "Date when transfer was initiated", "type": "date", "required": true, "semantics": [] }, { "name": "created_at", "displayName": "Created At", "description": "When the transfer was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "from_account", "displayName": "From Account", "description": "Source account for the transfer", "required": true, "multiple": false, "targetEntities": ["bank_account"], "semantics": [], "cardinality": "One-to-One" }, { "name": "to_account", "displayName": "To Account", "description": "Destination account for the transfer", "required": true, "multiple": false, "targetEntities": ["bank_account"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }, { "name": "InvestmentPortfolio", "displayName": "Investment Portfolio", "description": "Assets, positions, and performance tracking", "modelCount": 1, "entityCount": 3, "models": [{ "name": "Portfolios", "displayName": "Portfolio Management", "description": "Investment portfolios and assets", "entityCount": 3, "entities": [{ "name": "asset", "displayName": "Asset", "description": "Investment asset (stocks, bonds, etc.)", "propertyCount": 7, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Asset ID", "description": "Unique identifier for the asset", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "symbol", "displayName": "Symbol", "description": "Asset symbol/ticker", "type": "string", "required": true, "unique": true, "semantics": [] }, { "name": "name", "displayName": "Asset Name", "description": "Name of the asset", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "asset_type", "displayName": "Asset Type", "description": "Type of investment asset", "type": "string", "required": true, "semantics": [], "enumValues": ["stock", "bond", "etf", "mutual_fund", "commodity", "crypto"] }, { "name": "current_price", "displayName": "Current Price", "description": "Current market price of the asset", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "market_cap", "displayName": "Market Cap", "description": "Market capitalization", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "created_at", "displayName": "Created At", "description": "When the asset was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [], "semantics": [] }, { "name": "position", "displayName": "Position", "description": "Investment position in a portfolio", "propertyCount": 6, "associationCount": 2, "properties": [{ "name": "id", "displayName": "Position ID", "description": "Unique identifier for the position", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "quantity", "displayName": "Quantity", "description": "Number of shares/units held", "type": "number", "required": true, "semantics": [] }, { "name": "average_cost", "displayName": "Average Cost", "description": "Average cost per share/unit", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "current_value", "displayName": "Current Value", "description": "Current market value of the position", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "unrealized_gain_loss", "displayName": "Unrealized Gain/Loss", "description": "Unrealized profit or loss", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "created_at", "displayName": "Created At", "description": "When the position was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "account", "displayName": "Investment Account", "description": "Account holding this position", "required": true, "multiple": false, "targetEntities": ["investment_account"], "semantics": [], "cardinality": "One-to-One" }, { "name": "asset", "displayName": "Asset", "description": "Asset for this position", "required": true, "multiple": false, "targetEntities": ["asset"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "performance", "displayName": "Performance", "description": "Portfolio performance tracking", "propertyCount": 5, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Performance ID", "description": "Unique identifier for the performance record", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "date", "displayName": "Date", "description": "Date of performance measurement", "type": "date", "required": true, "semantics": [] }, { "name": "total_value", "displayName": "Total Value", "description": "Total portfolio value on this date", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "return_percentage", "displayName": "Return Percentage", "description": "Percentage return", "type": "number", "required": true, "semantics": [] }, { "name": "created_at", "displayName": "Created At", "description": "When the performance record was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "account", "displayName": "Investment Account", "description": "Account for this performance record", "required": true, "multiple": false, "targetEntities": ["investment_account"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }, { "name": "ComplianceReporting", "displayName": "Compliance & Reporting", "description": "Regulatory reporting and audit trails", "modelCount": 1, "entityCount": 2, "models": [{ "name": "Compliance", "displayName": "Compliance Management", "description": "Regulatory compliance and reporting", "entityCount": 2, "entities": [{ "name": "audit_trail", "displayName": "Audit Trail", "description": "System audit trail for compliance", "propertyCount": 8, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Audit ID", "description": "Unique identifier for the audit record", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "action", "displayName": "Action", "description": "Action performed", "type": "string", "required": true, "semantics": [] }, { "name": "entity_type", "displayName": "Entity Type", "description": "Type of entity affected", "type": "string", "required": true, "semantics": [] }, { "name": "entity_id", "displayName": "Entity ID", "description": "ID of the affected entity", "type": "string", "required": true, "semantics": [] }, { "name": "user_id", "displayName": "User ID", "description": "User who performed the action", "type": "string", "required": true, "semantics": [] }, { "name": "ip_address", "displayName": "IP Address", "description": "IP address of the user", "type": "string", "semantics": [] }, { "name": "description", "displayName": "Description", "description": "Additional details about the action", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "timestamp", "displayName": "Timestamp", "description": "When the action occurred", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [], "semantics": [] }, { "name": "regulatory_report", "displayName": "Regulatory Report", "description": "Regulatory reporting requirements", "propertyCount": 7, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Report ID", "description": "Unique identifier for the report", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Report Name", "description": "Name of the regulatory report", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "status", "displayName": "Report Status", "description": "Current status of the report", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["draft", "submitted", "approved", "rejected"], "defaultValue": "draft" }, { "name": "report_type", "displayName": "Report Type", "description": "Type of regulatory report", "type": "string", "required": true, "semantics": [], "enumValues": ["suspicious_activity", "large_transaction", "annual_report", "quarterly_report"] }, { "name": "reporting_period", "displayName": "Reporting Period", "description": "Period covered by the report", "type": "string", "required": true, "semantics": [] }, { "name": "description", "displayName": "Description", "description": "Report content and details", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "created_at", "displayName": "Created At", "description": "When the report was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [], "semantics": [] }] }] }, { "name": "FraudDetection", "displayName": "Fraud Detection", "description": "Transaction monitoring and risk scoring", "modelCount": 1, "entityCount": 1, "models": [{ "name": "FraudDetection", "displayName": "Fraud Detection Management", "description": "Fraud detection and monitoring", "entityCount": 1, "entities": [{ "name": "fraud_alert", "displayName": "Fraud Alert", "description": "Fraud detection alerts and flags", "propertyCount": 6, "associationCount": 2, "properties": [{ "name": "id", "displayName": "Alert ID", "description": "Unique identifier for the fraud alert", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "status", "displayName": "Alert Status", "description": "Current status of the fraud alert", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["pending", "investigating", "resolved", "false_positive"], "defaultValue": "pending" }, { "name": "alert_type", "displayName": "Alert Type", "description": "Type of fraud alert", "type": "string", "required": true, "semantics": [], "enumValues": ["suspicious_transaction", "unusual_pattern", "identity_theft", "account_takeover"] }, { "name": "risk_score", "displayName": "Risk Score", "description": "Risk score (1-100)", "type": "number", "required": true, "semantics": [] }, { "name": "description", "displayName": "Description", "description": "Details about the fraud alert", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "created_at", "displayName": "Created At", "description": "When the fraud alert was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "transaction", "displayName": "Transaction", "description": "Transaction that triggered the alert", "required": false, "multiple": false, "targetEntities": ["transaction"], "semantics": [], "cardinality": "One-to-One" }, { "name": "customer", "displayName": "Customer", "description": "Customer associated with the alert", "required": true, "multiple": false, "targetEntities": ["customer"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }] } }
1
+ { "id": "financial-services-platform", "name": "Financial Services Platform", "description": "A comprehensive financial services platform with account management, transaction processing, customer management, investment portfolios, and compliance features. Perfect for banks, credit unions, and fintech companies.", "createdAt": "2025-01-27T00:00:00.000Z", "updatedAt": "2025-01-27T00:00:00.000Z", "version": "1.0.0", "author": "API Now! Core Team", "tags": ["finance", "banking", "investment", "compliance", "fraud-detection", "kyc"], "structure": { "domain": { "name": "Financial Services Platform", "description": "A comprehensive financial services platform with account management, transaction processing, customer management, investment portfolios, and compliance features", "totalEntities": 17, "totalProperties": 127, "totalAssociations": 17 }, "namespaces": [{ "name": "User Management", "displayName": "User & Authentication Management", "description": "Unified user authentication, roles, and profile management for customers and employees", "modelCount": 2, "entityCount": 6, "models": [{ "name": "Authentication", "displayName": "Authentication & Access Control", "description": "User authentication, sessions, and access control", "entityCount": 2, "entities": [{ "name": "user", "displayName": "User", "description": "Unified user entity for both customers and employees with role-based access", "propertyCount": 14, "associationCount": 3, "properties": [{ "name": "id", "displayName": "User ID", "description": "Unique identifier for the user", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "username", "displayName": "Username", "description": "Unique username for login", "type": "string", "required": true, "unique": true, "semantics": [] }, { "name": "password", "displayName": "Password", "description": "User password (hashed)", "type": "string", "required": true, "writeOnly": true, "semantics": ["Semantic#Password"] }, { "name": "email", "displayName": "Email Address", "description": "User email address", "type": "string", "required": true, "unique": true, "semantics": ["Semantic#Email"] }, { "name": "first_name", "displayName": "First Name", "description": "User first name", "type": "string", "semantics": [] }, { "name": "last_name", "displayName": "Last Name", "description": "User last name", "type": "string", "semantics": [] }, { "name": "phone", "displayName": "Phone Number", "description": "User phone number", "type": "string", "semantics": ["Semantic#Phone"] }, { "name": "user_type", "displayName": "User Type", "description": "Type of user account", "type": "string", "required": true, "semantics": [], "enumValues": ["customer", "employee", "admin", "system"] }, { "name": "role", "displayName": "User Role", "description": "User role defining permissions and access level", "type": "string", "required": true, "semantics": ["Semantic#UserRole"], "enumValues": ["individual_customer", "business_customer", "premium_customer", "private_banking_customer", "teller", "loan_officer", "relationship_manager", "compliance_officer", "branch_manager", "investment_advisor", "risk_analyst", "system_admin", "security_admin", "audit_admin"] }, { "name": "status", "displayName": "User Status", "description": "Current status of the user account", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive", "suspended", "pending_verification", "locked"], "defaultValue": "active" }, { "name": "email_verified", "displayName": "Email Verified", "description": "Whether user email is verified", "type": "boolean", "required": true, "semantics": [] }, { "name": "last_login", "displayName": "Last Login", "description": "When user last logged in", "type": "datetime", "semantics": [] }, { "name": "created_at", "displayName": "Created At", "description": "When the user account was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }, { "name": "updated_at", "displayName": "Updated At", "description": "When the user account was last updated", "type": "datetime", "readOnly": true, "semantics": ["Semantic#UpdatedTimestamp"] }], "associations": [{ "name": "sessions", "displayName": "User Sessions", "description": "Active sessions for this user", "required": false, "multiple": true, "targetEntities": ["user_session"], "semantics": [], "cardinality": "One-to-Many" }, { "name": "customer_profile", "displayName": "Customer Profile", "description": "Extended customer profile information", "required": false, "multiple": false, "targetEntities": ["customer_profile"], "semantics": [], "cardinality": "One-to-One" }, { "name": "employee_profile", "displayName": "Employee Profile", "description": "Extended employee profile information", "required": false, "multiple": false, "targetEntities": ["employee_profile"], "semantics": [], "cardinality": "One-to-One" }], "semantics": ["Semantic#User"] }, { "name": "user_session", "displayName": "User Session", "description": "Active user authentication sessions", "propertyCount": 5, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Session ID", "description": "Unique session identifier", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "token", "displayName": "Session Token", "description": "Authentication token for the session", "type": "string", "required": true, "writeOnly": true, "semantics": [] }, { "name": "expires_at", "displayName": "Expires At", "description": "When the session expires", "type": "datetime", "required": true, "semantics": [] }, { "name": "ip_address", "displayName": "IP Address", "description": "IP address of the session", "type": "string", "semantics": ["Semantic#ClientIPAddress"] }, { "name": "created_at", "displayName": "Created At", "description": "When the session was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [], "semantics": [] }] }, { "name": "User Profiles", "displayName": "User Profile Management", "description": "Extended user profile information and preferences", "entityCount": 4, "entities": [{ "name": "customer_profile", "displayName": "Customer Profile", "description": "Additional profile information specific to customers", "propertyCount": 10, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Profile ID", "description": "Unique profile identifier", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "date_of_birth", "displayName": "Date of Birth", "description": "Customer date of birth", "type": "date", "required": true, "semantics": [] }, { "name": "ssn", "displayName": "Social Security Number", "description": "Customer SSN for identification", "type": "string", "required": true, "writeOnly": true, "semantics": [] }, { "name": "address", "displayName": "Address", "description": "Customer residential address", "type": "string", "required": true, "semantics": [] }, { "name": "city", "displayName": "City", "description": "Customer city", "type": "string", "required": true, "semantics": [] }, { "name": "state", "displayName": "State", "description": "Customer state", "type": "string", "required": true, "semantics": [] }, { "name": "zip_code", "displayName": "ZIP Code", "description": "Customer ZIP code", "type": "string", "required": true, "semantics": [] }, { "name": "customer_type", "displayName": "Customer Type", "description": "Type of customer account", "type": "string", "required": true, "semantics": [], "enumValues": ["individual", "business", "trust", "partnership"] }, { "name": "created_at", "displayName": "Created At", "description": "When the customer profile was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }, { "name": "updated_at", "displayName": "Updated At", "description": "When the customer profile was last updated", "type": "datetime", "readOnly": true, "semantics": ["Semantic#UpdatedTimestamp"] }], "associations": [], "semantics": [] }, { "name": "employee_profile", "displayName": "Employee Profile", "description": "Additional profile information specific to employees", "propertyCount": 7, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Employee Profile ID", "description": "Unique employee profile identifier", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "employee_id", "displayName": "Employee ID", "description": "Company employee identifier", "type": "string", "required": true, "unique": true, "semantics": [] }, { "name": "department", "displayName": "Department", "description": "Employee department", "type": "string", "required": true, "semantics": [], "enumValues": ["retail_banking", "commercial_banking", "investment_services", "risk_management", "compliance", "operations", "technology", "human_resources", "legal"] }, { "name": "hire_date", "displayName": "Hire Date", "description": "Employee hire date", "type": "date", "required": true, "semantics": [] }, { "name": "manager_id", "displayName": "Manager ID", "description": "Employee manager identifier", "type": "string", "semantics": [] }, { "name": "created_at", "displayName": "Created At", "description": "When the employee profile was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }, { "name": "updated_at", "displayName": "Updated At", "description": "When the employee profile was last updated", "type": "datetime", "readOnly": true, "semantics": ["Semantic#UpdatedTimestamp"] }], "associations": [], "semantics": [] }, { "name": "kyc_record", "displayName": "KYC Record", "description": "Know Your Customer verification and documentation", "propertyCount": 7, "associationCount": 1, "properties": [{ "name": "id", "displayName": "KYC ID", "description": "Unique identifier for the KYC record", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "status", "displayName": "KYC Status", "description": "Current status of KYC verification", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["pending", "verified", "rejected", "expired"], "defaultValue": "pending" }, { "name": "verification_date", "displayName": "Verification Date", "description": "Date when KYC was verified", "type": "date", "semantics": [] }, { "name": "document_type", "displayName": "Document Type", "description": "Type of identification document", "type": "string", "required": true, "semantics": [], "enumValues": ["passport", "drivers_license", "national_id", "utility_bill", "bank_statement"] }, { "name": "document_number", "displayName": "Document Number", "description": "Document identification number", "type": "string", "required": true, "semantics": [] }, { "name": "created_at", "displayName": "Created At", "description": "When the KYC record was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }, { "name": "updated_at", "displayName": "Updated At", "description": "When the KYC record was last updated", "type": "datetime", "readOnly": true, "semantics": ["Semantic#UpdatedTimestamp"] }], "associations": [{ "name": "user", "displayName": "User", "description": "User for this KYC record", "required": true, "multiple": false, "targetEntities": ["user"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "risk_profile", "displayName": "Risk Profile", "description": "Customer risk assessment and scoring", "propertyCount": 7, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Risk Profile ID", "description": "Unique identifier for the risk profile", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "risk_score", "displayName": "Risk Score", "description": "Numerical risk score (1-100)", "type": "number", "required": true, "semantics": [] }, { "name": "status", "displayName": "Risk Level", "description": "Risk level classification", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["low", "medium", "high", "very_high"], "defaultValue": "low" }, { "name": "assessment_date", "displayName": "Assessment Date", "description": "Date when risk was assessed", "type": "date", "required": true, "semantics": [] }, { "name": "description", "displayName": "Description", "description": "Risk assessment notes and factors", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "created_at", "displayName": "Created At", "description": "When the risk profile was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }, { "name": "updated_at", "displayName": "Updated At", "description": "When the risk profile was last updated", "type": "datetime", "readOnly": true, "semantics": ["Semantic#UpdatedTimestamp"] }], "associations": [{ "name": "user", "displayName": "User", "description": "User for this risk profile", "required": true, "multiple": false, "targetEntities": ["user"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }, { "name": "AccountManagement", "displayName": "Account Management", "description": "Bank accounts, investment accounts, and credit cards", "modelCount": 1, "entityCount": 3, "models": [{ "name": "Accounts", "displayName": "Account Management", "description": "Financial accounts and products", "entityCount": 3, "entities": [{ "name": "bank_account", "displayName": "Bank Account", "description": "Checking and savings accounts", "propertyCount": 9, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Account ID", "description": "Unique identifier for the account", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "account_number", "displayName": "Account Number", "description": "Bank account number", "type": "string", "required": true, "unique": true, "semantics": [] }, { "name": "routing_number", "displayName": "Routing Number", "description": "Bank routing number", "type": "string", "required": true, "semantics": [] }, { "name": "account_type", "displayName": "Account Type", "description": "Type of bank account", "type": "string", "required": true, "semantics": [], "enumValues": ["checking", "savings", "money_market", "cd"] }, { "name": "balance", "displayName": "Account Balance", "description": "Current account balance", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "available_balance", "displayName": "Available Balance", "description": "Available balance for transactions", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "status", "displayName": "Account Status", "description": "Current status of the account", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive", "frozen", "closed"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the account was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }, { "name": "updated_at", "displayName": "Updated At", "description": "When the account was last updated", "type": "datetime", "readOnly": true, "semantics": ["Semantic#UpdatedTimestamp"] }], "associations": [{ "name": "user", "displayName": "Account Holder", "description": "User who owns this account", "required": true, "multiple": false, "targetEntities": ["user"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "investment_account", "displayName": "Investment Account", "description": "Investment and brokerage accounts", "propertyCount": 7, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Investment Account ID", "description": "Unique identifier for the investment account", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "account_number", "displayName": "Account Number", "description": "Investment account number", "type": "string", "required": true, "unique": true, "semantics": [] }, { "name": "account_type", "displayName": "Account Type", "description": "Type of investment account", "type": "string", "required": true, "semantics": [], "enumValues": ["individual", "joint", "ira", "401k", "roth_ira"] }, { "name": "total_value", "displayName": "Total Portfolio Value", "description": "Total value of all investments", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "cash_balance", "displayName": "Cash Balance", "description": "Available cash balance", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "status", "displayName": "Account Status", "description": "Current status of the investment account", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive", "suspended", "closed"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the investment account was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "user", "displayName": "Account Holder", "description": "User who owns this investment account", "required": true, "multiple": false, "targetEntities": ["user"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "credit_card", "displayName": "Credit Card", "description": "Credit card accounts and lines of credit", "propertyCount": 8, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Credit Card ID", "description": "Unique identifier for the credit card", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "card_number", "displayName": "Card Number", "description": "Credit card number (masked)", "type": "string", "required": true, "writeOnly": true, "semantics": [] }, { "name": "credit_limit", "displayName": "Credit Limit", "description": "Total credit limit", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "available_credit", "displayName": "Available Credit", "description": "Available credit remaining", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "current_balance", "displayName": "Current Balance", "description": "Current outstanding balance", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "apr", "displayName": "APR", "description": "Annual Percentage Rate", "type": "number", "required": true, "semantics": [] }, { "name": "status", "displayName": "Card Status", "description": "Current status of the credit card", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive", "suspended", "closed"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the credit card was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "user", "displayName": "Cardholder", "description": "User who owns this credit card", "required": true, "multiple": false, "targetEntities": ["user"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }, { "name": "Transaction Processing", "displayName": "Transaction Processing", "description": "Payments, transfers, deposits, and withdrawals", "modelCount": 1, "entityCount": 2, "models": [{ "name": "Transactions", "displayName": "Transaction Management", "description": "Financial transactions and transfers", "entityCount": 2, "entities": [{ "name": "transaction", "displayName": "Transaction", "description": "Financial transaction record", "propertyCount": 9, "associationCount": 2, "properties": [{ "name": "id", "displayName": "Transaction ID", "description": "Unique identifier for the transaction", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "transaction_number", "displayName": "Transaction Number", "description": "Human-readable transaction number", "type": "string", "required": true, "unique": true, "semantics": [] }, { "name": "status", "displayName": "Transaction Status", "description": "Current status of the transaction", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["pending", "processing", "completed", "failed", "cancelled"], "defaultValue": "pending" }, { "name": "transaction_type", "displayName": "Transaction Type", "description": "Type of financial transaction", "type": "string", "required": true, "semantics": [], "enumValues": ["deposit", "withdrawal", "transfer", "payment", "fee"] }, { "name": "amount", "displayName": "Transaction Amount", "description": "Amount of the transaction", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "description", "displayName": "Description", "description": "Transaction description", "type": "string", "semantics": [] }, { "name": "transaction_date", "displayName": "Transaction Date", "description": "Date when transaction occurred", "type": "date", "required": true, "semantics": [] }, { "name": "reference_number", "displayName": "Reference Number", "description": "External reference number", "type": "string", "semantics": [] }, { "name": "created_at", "displayName": "Created At", "description": "When the transaction was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "user", "displayName": "User", "description": "User who initiated the transaction", "required": true, "multiple": false, "targetEntities": ["user"], "semantics": [], "cardinality": "One-to-One" }, { "name": "account", "displayName": "Account", "description": "Account involved in the transaction", "required": true, "multiple": false, "targetEntities": ["bank_account"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "transfer", "displayName": "Transfer", "description": "Money transfers between accounts", "propertyCount": 5, "associationCount": 2, "properties": [{ "name": "id", "displayName": "Transfer ID", "description": "Unique identifier for the transfer", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "status", "displayName": "Transfer Status", "description": "Current status of the transfer", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["pending", "processing", "completed", "failed", "cancelled"], "defaultValue": "pending" }, { "name": "amount", "displayName": "Transfer Amount", "description": "Amount being transferred", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "transfer_date", "displayName": "Transfer Date", "description": "Date when transfer was initiated", "type": "date", "required": true, "semantics": [] }, { "name": "created_at", "displayName": "Created At", "description": "When the transfer was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "from_account", "displayName": "From Account", "description": "Source account for the transfer", "required": true, "multiple": false, "targetEntities": ["bank_account"], "semantics": [], "cardinality": "One-to-One" }, { "name": "to_account", "displayName": "To Account", "description": "Destination account for the transfer", "required": true, "multiple": false, "targetEntities": ["bank_account"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }, { "name": "Investment Portfolio", "displayName": "Investment Portfolio", "description": "Assets, positions, and performance tracking", "modelCount": 1, "entityCount": 3, "models": [{ "name": "Portfolios", "displayName": "Portfolio Management", "description": "Investment portfolios and assets", "entityCount": 3, "entities": [{ "name": "asset", "displayName": "Asset", "description": "Investment asset (stocks, bonds, etc.)", "propertyCount": 7, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Asset ID", "description": "Unique identifier for the asset", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "symbol", "displayName": "Symbol", "description": "Asset symbol/ticker", "type": "string", "required": true, "unique": true, "semantics": [] }, { "name": "name", "displayName": "Asset Name", "description": "Name of the asset", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "asset_type", "displayName": "Asset Type", "description": "Type of investment asset", "type": "string", "required": true, "semantics": [], "enumValues": ["stock", "bond", "etf", "mutual_fund", "commodity", "crypto"] }, { "name": "current_price", "displayName": "Current Price", "description": "Current market price of the asset", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "market_cap", "displayName": "Market Cap", "description": "Market capitalization", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "created_at", "displayName": "Created At", "description": "When the asset was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [], "semantics": [] }, { "name": "position", "displayName": "Position", "description": "Investment position in a portfolio", "propertyCount": 6, "associationCount": 2, "properties": [{ "name": "id", "displayName": "Position ID", "description": "Unique identifier for the position", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "quantity", "displayName": "Quantity", "description": "Number of shares/units held", "type": "number", "required": true, "semantics": [] }, { "name": "average_cost", "displayName": "Average Cost", "description": "Average cost per share/unit", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "current_value", "displayName": "Current Value", "description": "Current market value of the position", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "unrealized_gain_loss", "displayName": "Unrealized Gain/Loss", "description": "Unrealized profit or loss", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "created_at", "displayName": "Created At", "description": "When the position was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "account", "displayName": "Investment Account", "description": "Account holding this position", "required": true, "multiple": false, "targetEntities": ["investment_account"], "semantics": [], "cardinality": "One-to-One" }, { "name": "asset", "displayName": "Asset", "description": "Asset for this position", "required": true, "multiple": false, "targetEntities": ["asset"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "performance", "displayName": "Performance", "description": "Portfolio performance tracking", "propertyCount": 5, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Performance ID", "description": "Unique identifier for the performance record", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "date", "displayName": "Date", "description": "Date of performance measurement", "type": "date", "required": true, "semantics": [] }, { "name": "total_value", "displayName": "Total Value", "description": "Total portfolio value on this date", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "return_percentage", "displayName": "Return Percentage", "description": "Percentage return", "type": "number", "required": true, "semantics": [] }, { "name": "created_at", "displayName": "Created At", "description": "When the performance record was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "account", "displayName": "Investment Account", "description": "Account for this performance record", "required": true, "multiple": false, "targetEntities": ["investment_account"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }, { "name": "Compliance Reporting", "displayName": "Compliance & Reporting", "description": "Regulatory reporting and audit trails", "modelCount": 1, "entityCount": 2, "models": [{ "name": "Compliance", "displayName": "Compliance Management", "description": "Regulatory compliance and reporting", "entityCount": 2, "entities": [{ "name": "audit_trail", "displayName": "Audit Trail", "description": "System audit trail for compliance", "propertyCount": 8, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Audit ID", "description": "Unique identifier for the audit record", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "action", "displayName": "Action", "description": "Action performed", "type": "string", "required": true, "semantics": [] }, { "name": "entity_type", "displayName": "Entity Type", "description": "Type of entity affected", "type": "string", "required": true, "semantics": [] }, { "name": "entity_id", "displayName": "Entity ID", "description": "ID of the affected entity", "type": "string", "required": true, "semantics": [] }, { "name": "user_id", "displayName": "User ID", "description": "User who performed the action", "type": "string", "required": true, "semantics": [] }, { "name": "ip_address", "displayName": "IP Address", "description": "IP address of the user", "type": "string", "semantics": ["Semantic#ClientIPAddress"] }, { "name": "description", "displayName": "Description", "description": "Additional details about the action", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "timestamp", "displayName": "Timestamp", "description": "When the action occurred", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [], "semantics": [] }, { "name": "regulatory_report", "displayName": "Regulatory Report", "description": "Regulatory reporting requirements", "propertyCount": 7, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Report ID", "description": "Unique identifier for the report", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Report Name", "description": "Name of the regulatory report", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "status", "displayName": "Report Status", "description": "Current status of the report", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["draft", "submitted", "approved", "rejected"], "defaultValue": "draft" }, { "name": "report_type", "displayName": "Report Type", "description": "Type of regulatory report", "type": "string", "required": true, "semantics": [], "enumValues": ["suspicious_activity", "large_transaction", "annual_report", "quarterly_report"] }, { "name": "reporting_period", "displayName": "Reporting Period", "description": "Period covered by the report", "type": "string", "required": true, "semantics": [] }, { "name": "description", "displayName": "Description", "description": "Report content and details", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "created_at", "displayName": "Created At", "description": "When the report was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [], "semantics": [] }] }] }, { "name": "FraudDetection", "displayName": "Fraud Detection", "description": "Transaction monitoring and risk scoring", "modelCount": 1, "entityCount": 1, "models": [{ "name": "FraudDetection", "displayName": "Fraud Detection Management", "description": "Fraud detection and monitoring", "entityCount": 1, "entities": [{ "name": "fraud_alert", "displayName": "Fraud Alert", "description": "Fraud detection alerts and flags", "propertyCount": 6, "associationCount": 2, "properties": [{ "name": "id", "displayName": "Alert ID", "description": "Unique identifier for the fraud alert", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "status", "displayName": "Alert Status", "description": "Current status of the fraud alert", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["pending", "investigating", "resolved", "false_positive"], "defaultValue": "pending" }, { "name": "alert_type", "displayName": "Alert Type", "description": "Type of fraud alert", "type": "string", "required": true, "semantics": [], "enumValues": ["suspicious_transaction", "unusual_pattern", "identity_theft", "account_takeover"] }, { "name": "risk_score", "displayName": "Risk Score", "description": "Risk score (1-100)", "type": "number", "required": true, "semantics": [] }, { "name": "description", "displayName": "Description", "description": "Details about the fraud alert", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "created_at", "displayName": "Created At", "description": "When the fraud alert was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "transaction", "displayName": "Transaction", "description": "Transaction that triggered the alert", "required": false, "multiple": false, "targetEntities": ["transaction"], "semantics": [], "cardinality": "One-to-One" }, { "name": "user", "displayName": "User", "description": "User associated with the alert", "required": true, "multiple": false, "targetEntities": ["user"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }] } }
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Auto-generated template registry index
3
- * Generated on: 2025-07-30T05:20:58.948Z
3
+ * Generated on: 2025-08-09T20:52:36.596Z
4
4
  *
5
5
  * This file is auto-generated by scripts/generate-template-metadata.js
6
6
  * Do not edit manually - your changes will be overwritten.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Auto-generated template registry index
3
- * Generated on: 2025-07-30T05:20:58.948Z
3
+ * Generated on: 2025-08-09T20:52:36.596Z
4
4
  *
5
5
  * This file is auto-generated by scripts/generate-template-metadata.js
6
6
  * Do not edit manually - your changes will be overwritten.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modeling/templates/meta/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Auto-generated template registry index\n * Generated on: 2025-07-30T05:20:58.948Z\n *\n * This file is auto-generated by scripts/generate-template-metadata.js\n * Do not edit manually - your changes will be overwritten.\n */\n\nimport type { CreateTemplateOptions, DomainTemplate } from '../types.js'\nimport { DataDomain } from '../../DataDomain.js'\nimport * as domains from '../verticals/index.js'\nimport type * as Verticals from '../verticals/index.js'\n\n// Template metadata imports\nimport ecommercePlatformMetadata from './ecommerce-platform.json' with { type: 'json' }\nimport blogPublishingPlatformMetadata from './blog-publishing-platform.json' with { type: 'json' }\nimport healthcareManagementPlatformMetadata from './healthcare-management-platform.json' with { type: 'json' }\nimport financialServicesPlatformMetadata from './financial-services-platform.json' with { type: 'json' }\nimport educationManagementPlatformMetadata from './education-management-platform.json' with { type: 'json' }\nimport realEstateManagementPlatformMetadata from './real-estate-management-platform.json' with { type: 'json' }\nimport manufacturingPlatformMetadata from './manufacturing-platform.json' with { type: 'json' }\nimport hospitalityPlatformMetadata from './hospitality-platform.json' with { type: 'json' }\nimport legalServicesPlatformMetadata from './legal-services-platform.json' with { type: 'json' }\nimport nonProfitPlatformMetadata from './non-profit-platform.json' with { type: 'json' }\nimport iotSmartHomePlatformMetadata from './iot-smart-home-platform.json' with { type: 'json' }\nimport gamingPlatformMetadata from './gaming-platform.json' with { type: 'json' }\n\n/**\n * Registry of all available template metadata\n */\nexport const TEMPLATE_METADATA_REGISTRY: Record<string, DomainTemplate> = {\n 'ecommerce-platform': ecommercePlatformMetadata as DomainTemplate,\n 'blog-publishing-platform': blogPublishingPlatformMetadata as DomainTemplate,\n 'healthcare-management-platform': healthcareManagementPlatformMetadata as DomainTemplate,\n 'financial-services-platform': financialServicesPlatformMetadata as DomainTemplate,\n 'education-management-platform': educationManagementPlatformMetadata as DomainTemplate,\n 'real-estate-management-platform': realEstateManagementPlatformMetadata as DomainTemplate,\n 'manufacturing-platform': manufacturingPlatformMetadata as DomainTemplate,\n 'hospitality-platform': hospitalityPlatformMetadata as DomainTemplate,\n 'legal-services-platform': legalServicesPlatformMetadata as DomainTemplate,\n 'non-profit-platform': nonProfitPlatformMetadata as DomainTemplate,\n 'iot-smart-home-platform': iotSmartHomePlatformMetadata as DomainTemplate,\n 'gaming-platform': gamingPlatformMetadata as DomainTemplate,\n} as const\n\n/**\n * Array of all template IDs for iteration\n */\nexport const TEMPLATE_IDS = [\n 'ecommerce-platform',\n 'blog-publishing-platform',\n 'healthcare-management-platform',\n 'financial-services-platform',\n 'education-management-platform',\n 'real-estate-management-platform',\n 'manufacturing-platform',\n 'hospitality-platform',\n 'legal-services-platform',\n 'non-profit-platform',\n 'iot-smart-home-platform',\n 'gaming-platform',\n] as const\n\n/**\n * Template categories for filtering\n */\nexport const TEMPLATE_CATEGORIES = {\n business: ['e-commerce', 'retail', 'business', 'inventory', 'orders', 'crm', 'finance'],\n content: ['blog', 'cms', 'publishing', 'content', 'media', 'editorial'],\n social: ['social', 'community', 'networking', 'communication'],\n technical: ['api', 'service', 'microservice', 'system', 'integration'],\n} as const\n\n/**\n * Get all templates\n */\nexport function getAllTemplates(): DomainTemplate[] {\n return Object.values(TEMPLATE_METADATA_REGISTRY)\n}\n\n/**\n * Get template by ID\n */\nexport function getTemplate(id: string): DomainTemplate | undefined {\n return TEMPLATE_METADATA_REGISTRY[id]\n}\n\n/**\n * Get templates by tag\n */\nexport function getTemplatesByTag(tag: string): DomainTemplate[] {\n return getAllTemplates().filter((template) => template.tags.includes(tag.toLowerCase()))\n}\n\n/**\n * Get templates by category\n */\nexport function getTemplatesByCategory(category: keyof typeof TEMPLATE_CATEGORIES): DomainTemplate[] {\n const categoryTags = TEMPLATE_CATEGORIES[category] || []\n return getAllTemplates().filter((template) =>\n template.tags.some((tag) => (categoryTags as readonly string[]).includes(tag))\n )\n}\n\n/**\n * Search templates\n */\nexport function searchTemplates(query: string): DomainTemplate[] {\n const searchTerm = query.toLowerCase()\n return getAllTemplates().filter(\n (template) =>\n template.name.toLowerCase().includes(searchTerm) ||\n template.description.toLowerCase().includes(searchTerm) ||\n template.tags.some((tag) => tag.includes(searchTerm))\n )\n}\n\n/**\n * Get template statistics\n */\nexport function getTemplateStats() {\n const templates = getAllTemplates()\n\n const totalEntities = templates.reduce((sum, t) => sum + t.structure.domain.totalEntities, 0)\n const totalProperties = templates.reduce((sum, t) => sum + t.structure.domain.totalProperties, 0)\n const totalAssociations = templates.reduce((sum, t) => sum + t.structure.domain.totalAssociations, 0)\n\n const categoryCounts: Record<string, number> = {}\n templates.forEach((template) => {\n template.tags.forEach((tag) => {\n categoryCounts[tag] = (categoryCounts[tag] || 0) + 1\n })\n })\n\n return {\n totalTemplates: templates.length,\n totalEntities,\n totalProperties,\n totalAssociations,\n categoryCounts,\n }\n}\n\n/**\n * Creates a domain by its ID\n * @param id The ID of the template\n * @param options Options for creating the template\n * @returns The created data domain\n */\nexport function createDomainById(id: string, options?: CreateTemplateOptions): DataDomain {\n const map = new Map<string, keyof typeof Verticals>()\n map.set('ecommerce-platform', 'createEcommerceDomain')\n map.set('blog-publishing-platform', 'createBlogDomain')\n map.set('healthcare-management-platform', 'createHealthcareDomain')\n map.set('financial-services-platform', 'createFinancialServicesDomain')\n map.set('education-management-platform', 'createEducationDomain')\n map.set('real-estate-management-platform', 'createRealEstateDomain')\n map.set('manufacturing-platform', 'createManufacturingDomain')\n map.set('hospitality-platform', 'createHospitalityDomain')\n map.set('legal-services-platform', 'createLegalServicesDomain')\n map.set('non-profit-platform', 'createNonProfitDomain')\n map.set('iot-smart-home-platform', 'createIoTSmartHomeDomain')\n map.set('gaming-platform', 'createGamingDomain')\n const createDomainFn = map.get(id)\n if (!createDomainFn) {\n throw new Error(`No create function found for template ID ${id}`)\n }\n if (typeof domains[createDomainFn] !== 'function') {\n throw new Error(`Function ${createDomainFn} is not defined in domains module`)\n }\n return domains[createDomainFn](options)\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modeling/templates/meta/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Auto-generated template registry index\n * Generated on: 2025-08-09T20:52:36.596Z\n *\n * This file is auto-generated by scripts/generate-template-metadata.js\n * Do not edit manually - your changes will be overwritten.\n */\n\nimport type { CreateTemplateOptions, DomainTemplate } from '../types.js'\nimport { DataDomain } from '../../DataDomain.js'\nimport * as domains from '../verticals/index.js'\nimport type * as Verticals from '../verticals/index.js'\n\n// Template metadata imports\nimport ecommercePlatformMetadata from './ecommerce-platform.json' with { type: 'json' }\nimport blogPublishingPlatformMetadata from './blog-publishing-platform.json' with { type: 'json' }\nimport healthcareManagementPlatformMetadata from './healthcare-management-platform.json' with { type: 'json' }\nimport financialServicesPlatformMetadata from './financial-services-platform.json' with { type: 'json' }\nimport educationManagementPlatformMetadata from './education-management-platform.json' with { type: 'json' }\nimport realEstateManagementPlatformMetadata from './real-estate-management-platform.json' with { type: 'json' }\nimport manufacturingPlatformMetadata from './manufacturing-platform.json' with { type: 'json' }\nimport hospitalityPlatformMetadata from './hospitality-platform.json' with { type: 'json' }\nimport legalServicesPlatformMetadata from './legal-services-platform.json' with { type: 'json' }\nimport nonProfitPlatformMetadata from './non-profit-platform.json' with { type: 'json' }\nimport iotSmartHomePlatformMetadata from './iot-smart-home-platform.json' with { type: 'json' }\nimport gamingPlatformMetadata from './gaming-platform.json' with { type: 'json' }\n\n/**\n * Registry of all available template metadata\n */\nexport const TEMPLATE_METADATA_REGISTRY: Record<string, DomainTemplate> = {\n 'ecommerce-platform': ecommercePlatformMetadata as DomainTemplate,\n 'blog-publishing-platform': blogPublishingPlatformMetadata as DomainTemplate,\n 'healthcare-management-platform': healthcareManagementPlatformMetadata as DomainTemplate,\n 'financial-services-platform': financialServicesPlatformMetadata as DomainTemplate,\n 'education-management-platform': educationManagementPlatformMetadata as DomainTemplate,\n 'real-estate-management-platform': realEstateManagementPlatformMetadata as DomainTemplate,\n 'manufacturing-platform': manufacturingPlatformMetadata as DomainTemplate,\n 'hospitality-platform': hospitalityPlatformMetadata as DomainTemplate,\n 'legal-services-platform': legalServicesPlatformMetadata as DomainTemplate,\n 'non-profit-platform': nonProfitPlatformMetadata as DomainTemplate,\n 'iot-smart-home-platform': iotSmartHomePlatformMetadata as DomainTemplate,\n 'gaming-platform': gamingPlatformMetadata as DomainTemplate,\n} as const\n\n/**\n * Array of all template IDs for iteration\n */\nexport const TEMPLATE_IDS = [\n 'ecommerce-platform',\n 'blog-publishing-platform',\n 'healthcare-management-platform',\n 'financial-services-platform',\n 'education-management-platform',\n 'real-estate-management-platform',\n 'manufacturing-platform',\n 'hospitality-platform',\n 'legal-services-platform',\n 'non-profit-platform',\n 'iot-smart-home-platform',\n 'gaming-platform',\n] as const\n\n/**\n * Template categories for filtering\n */\nexport const TEMPLATE_CATEGORIES = {\n business: ['e-commerce', 'retail', 'business', 'inventory', 'orders', 'crm', 'finance'],\n content: ['blog', 'cms', 'publishing', 'content', 'media', 'editorial'],\n social: ['social', 'community', 'networking', 'communication'],\n technical: ['api', 'service', 'microservice', 'system', 'integration'],\n} as const\n\n/**\n * Get all templates\n */\nexport function getAllTemplates(): DomainTemplate[] {\n return Object.values(TEMPLATE_METADATA_REGISTRY)\n}\n\n/**\n * Get template by ID\n */\nexport function getTemplate(id: string): DomainTemplate | undefined {\n return TEMPLATE_METADATA_REGISTRY[id]\n}\n\n/**\n * Get templates by tag\n */\nexport function getTemplatesByTag(tag: string): DomainTemplate[] {\n return getAllTemplates().filter((template) => template.tags.includes(tag.toLowerCase()))\n}\n\n/**\n * Get templates by category\n */\nexport function getTemplatesByCategory(category: keyof typeof TEMPLATE_CATEGORIES): DomainTemplate[] {\n const categoryTags = TEMPLATE_CATEGORIES[category] || []\n return getAllTemplates().filter((template) =>\n template.tags.some((tag) => (categoryTags as readonly string[]).includes(tag))\n )\n}\n\n/**\n * Search templates\n */\nexport function searchTemplates(query: string): DomainTemplate[] {\n const searchTerm = query.toLowerCase()\n return getAllTemplates().filter(\n (template) =>\n template.name.toLowerCase().includes(searchTerm) ||\n template.description.toLowerCase().includes(searchTerm) ||\n template.tags.some((tag) => tag.includes(searchTerm))\n )\n}\n\n/**\n * Get template statistics\n */\nexport function getTemplateStats() {\n const templates = getAllTemplates()\n\n const totalEntities = templates.reduce((sum, t) => sum + t.structure.domain.totalEntities, 0)\n const totalProperties = templates.reduce((sum, t) => sum + t.structure.domain.totalProperties, 0)\n const totalAssociations = templates.reduce((sum, t) => sum + t.structure.domain.totalAssociations, 0)\n\n const categoryCounts: Record<string, number> = {}\n templates.forEach((template) => {\n template.tags.forEach((tag) => {\n categoryCounts[tag] = (categoryCounts[tag] || 0) + 1\n })\n })\n\n return {\n totalTemplates: templates.length,\n totalEntities,\n totalProperties,\n totalAssociations,\n categoryCounts,\n }\n}\n\n/**\n * Creates a domain by its ID\n * @param id The ID of the template\n * @param options Options for creating the template\n * @returns The created data domain\n */\nexport function createDomainById(id: string, options?: CreateTemplateOptions): DataDomain {\n const map = new Map<string, keyof typeof Verticals>()\n map.set('ecommerce-platform', 'createEcommerceDomain')\n map.set('blog-publishing-platform', 'createBlogDomain')\n map.set('healthcare-management-platform', 'createHealthcareDomain')\n map.set('financial-services-platform', 'createFinancialServicesDomain')\n map.set('education-management-platform', 'createEducationDomain')\n map.set('real-estate-management-platform', 'createRealEstateDomain')\n map.set('manufacturing-platform', 'createManufacturingDomain')\n map.set('hospitality-platform', 'createHospitalityDomain')\n map.set('legal-services-platform', 'createLegalServicesDomain')\n map.set('non-profit-platform', 'createNonProfitDomain')\n map.set('iot-smart-home-platform', 'createIoTSmartHomeDomain')\n map.set('gaming-platform', 'createGamingDomain')\n const createDomainFn = map.get(id)\n if (!createDomainFn) {\n throw new Error(`No create function found for template ID ${id}`)\n }\n if (typeof domains[createDomainFn] !== 'function') {\n throw new Error(`Function ${createDomainFn} is not defined in domains module`)\n }\n return domains[createDomainFn](options)\n}\n"]}