@objectstack/spec 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/README.md +127 -5
  2. package/dist/ai/index.d.ts +14 -0
  3. package/dist/ai/index.d.ts.map +1 -0
  4. package/dist/ai/index.js +29 -0
  5. package/dist/ai/model-registry.zod.d.ts +1389 -0
  6. package/dist/ai/model-registry.zod.d.ts.map +1 -0
  7. package/dist/ai/model-registry.zod.js +164 -0
  8. package/dist/ai/nlq.zod.d.ts +1126 -0
  9. package/dist/ai/nlq.zod.d.ts.map +1 -0
  10. package/dist/ai/nlq.zod.js +246 -0
  11. package/dist/ai/rag-pipeline.zod.d.ts +1034 -0
  12. package/dist/ai/rag-pipeline.zod.d.ts.map +1 -0
  13. package/dist/ai/rag-pipeline.zod.js +244 -0
  14. package/dist/api/index.d.ts +9 -0
  15. package/dist/api/index.d.ts.map +1 -0
  16. package/dist/api/index.js +24 -0
  17. package/dist/data/index.d.ts +21 -0
  18. package/dist/data/index.d.ts.map +1 -0
  19. package/dist/data/index.js +36 -0
  20. package/dist/data/query.zod.d.ts +386 -3
  21. package/dist/data/query.zod.d.ts.map +1 -1
  22. package/dist/data/query.zod.js +386 -3
  23. package/dist/data/validation.zod.d.ts +349 -0
  24. package/dist/data/validation.zod.d.ts.map +1 -1
  25. package/dist/data/validation.zod.js +395 -0
  26. package/dist/index.d.ts +36 -41
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +64 -49
  29. package/dist/system/auth-protocol.d.ts +175 -0
  30. package/dist/system/auth-protocol.d.ts.map +1 -0
  31. package/dist/system/auth-protocol.js +60 -0
  32. package/dist/system/auth.zod.d.ts +1097 -65
  33. package/dist/system/auth.zod.d.ts.map +1 -1
  34. package/dist/system/auth.zod.js +135 -1
  35. package/dist/system/identity.zod.d.ts +234 -180
  36. package/dist/system/identity.zod.d.ts.map +1 -1
  37. package/dist/system/identity.zod.js +168 -51
  38. package/dist/system/index.d.ts +28 -0
  39. package/dist/system/index.d.ts.map +1 -0
  40. package/dist/system/index.js +43 -0
  41. package/dist/system/manifest.zod.d.ts +10 -10
  42. package/dist/system/organization.zod.d.ts +179 -0
  43. package/dist/system/organization.zod.d.ts.map +1 -0
  44. package/dist/system/organization.zod.js +129 -0
  45. package/dist/ui/action.zod.d.ts +2 -2
  46. package/dist/ui/index.d.ts +17 -0
  47. package/dist/ui/index.d.ts.map +1 -0
  48. package/dist/ui/index.js +32 -0
  49. package/dist/ui/theme.zod.d.ts +6 -6
  50. package/json-schema/Account.json +87 -0
  51. package/json-schema/AuthConfig.json +235 -0
  52. package/json-schema/ChunkingStrategy.json +133 -0
  53. package/json-schema/DatabaseMapping.json +48 -0
  54. package/json-schema/DocumentChunk.json +97 -0
  55. package/json-schema/DocumentLoaderConfig.json +69 -0
  56. package/json-schema/DocumentMetadata.json +61 -0
  57. package/json-schema/EmbeddingModel.json +57 -0
  58. package/json-schema/EnterpriseAuthConfig.json +172 -0
  59. package/json-schema/Entity.json +55 -0
  60. package/json-schema/FieldSynonymConfig.json +39 -0
  61. package/json-schema/Invitation.json +69 -0
  62. package/json-schema/InvitationStatus.json +15 -0
  63. package/json-schema/LDAPConfig.json +22 -5
  64. package/json-schema/Member.json +46 -0
  65. package/json-schema/ModelCapability.json +47 -0
  66. package/json-schema/ModelConfig.json +181 -0
  67. package/json-schema/ModelLimits.json +45 -0
  68. package/json-schema/ModelPricing.json +28 -0
  69. package/json-schema/ModelProvider.json +19 -0
  70. package/json-schema/ModelRegistry.json +427 -0
  71. package/json-schema/ModelRegistryEntry.json +239 -0
  72. package/json-schema/ModelSelectionCriteria.json +50 -0
  73. package/json-schema/NLQAnalytics.json +106 -0
  74. package/json-schema/NLQFieldMapping.json +40 -0
  75. package/json-schema/NLQModelConfig.json +78 -0
  76. package/json-schema/NLQParseResult.json +252 -0
  77. package/json-schema/NLQRequest.json +110 -0
  78. package/json-schema/NLQResponse.json +288 -0
  79. package/json-schema/NLQTrainingExample.json +120 -0
  80. package/json-schema/OIDCConfig.json +18 -3
  81. package/json-schema/Organization.json +52 -0
  82. package/json-schema/PromptTemplate.json +163 -0
  83. package/json-schema/PromptVariable.json +56 -0
  84. package/json-schema/QueryContext.json +72 -0
  85. package/json-schema/QueryIntent.json +21 -0
  86. package/json-schema/QueryTemplate.json +81 -0
  87. package/json-schema/RAGPipelineConfig.json +552 -0
  88. package/json-schema/RAGPipelineStatus.json +66 -0
  89. package/json-schema/RAGQueryRequest.json +64 -0
  90. package/json-schema/RAGQueryResponse.json +108 -0
  91. package/json-schema/RerankingConfig.json +34 -0
  92. package/json-schema/RetrievalStrategy.json +121 -0
  93. package/json-schema/SAMLConfig.json +17 -3
  94. package/json-schema/Session.json +63 -0
  95. package/json-schema/StandardAuthProvider.json +235 -0
  96. package/json-schema/Timeframe.json +68 -0
  97. package/json-schema/User.json +51 -0
  98. package/json-schema/VectorStoreConfig.json +82 -0
  99. package/json-schema/VectorStoreProvider.json +21 -0
  100. package/json-schema/VerificationToken.json +36 -0
  101. package/package.json +27 -1
  102. package/json-schema/AuthProtocol.json +0 -17
  103. package/json-schema/AuthProvider.json +0 -171
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-registry.zod.d.ts","sourceRoot":"","sources":["../../src/ai/model-registry.zod.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ModelSelectionCriteriaSchema = exports.ModelRegistrySchema = exports.ModelRegistryEntrySchema = exports.PromptTemplateSchema = exports.PromptVariableSchema = exports.ModelConfigSchema = exports.ModelPricingSchema = exports.ModelLimitsSchema = exports.ModelCapabilitySchema = exports.ModelProviderSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ /**
6
+ * AI Model Registry Protocol
7
+ *
8
+ * Centralized registry for managing AI models, prompt templates, and model versioning.
9
+ * Enables AI-powered ObjectStack applications to discover and use LLMs consistently.
10
+ */
11
+ /**
12
+ * Model Provider Type
13
+ */
14
+ exports.ModelProviderSchema = zod_1.z.enum([
15
+ 'openai',
16
+ 'azure_openai',
17
+ 'anthropic',
18
+ 'google',
19
+ 'cohere',
20
+ 'huggingface',
21
+ 'local',
22
+ 'custom',
23
+ ]);
24
+ /**
25
+ * Model Capability
26
+ */
27
+ exports.ModelCapabilitySchema = zod_1.z.object({
28
+ textGeneration: zod_1.z.boolean().optional().default(true).describe('Supports text generation'),
29
+ textEmbedding: zod_1.z.boolean().optional().default(false).describe('Supports text embedding'),
30
+ imageGeneration: zod_1.z.boolean().optional().default(false).describe('Supports image generation'),
31
+ imageUnderstanding: zod_1.z.boolean().optional().default(false).describe('Supports image understanding'),
32
+ functionCalling: zod_1.z.boolean().optional().default(false).describe('Supports function calling'),
33
+ codeGeneration: zod_1.z.boolean().optional().default(false).describe('Supports code generation'),
34
+ reasoning: zod_1.z.boolean().optional().default(false).describe('Supports advanced reasoning'),
35
+ });
36
+ /**
37
+ * Model Limits
38
+ */
39
+ exports.ModelLimitsSchema = zod_1.z.object({
40
+ maxTokens: zod_1.z.number().int().positive().describe('Maximum tokens per request'),
41
+ contextWindow: zod_1.z.number().int().positive().describe('Context window size'),
42
+ maxOutputTokens: zod_1.z.number().int().positive().optional().describe('Maximum output tokens'),
43
+ rateLimit: zod_1.z.object({
44
+ requestsPerMinute: zod_1.z.number().int().positive().optional(),
45
+ tokensPerMinute: zod_1.z.number().int().positive().optional(),
46
+ }).optional(),
47
+ });
48
+ /**
49
+ * Model Pricing
50
+ */
51
+ exports.ModelPricingSchema = zod_1.z.object({
52
+ currency: zod_1.z.string().optional().default('USD'),
53
+ inputCostPer1kTokens: zod_1.z.number().optional().describe('Cost per 1K input tokens'),
54
+ outputCostPer1kTokens: zod_1.z.number().optional().describe('Cost per 1K output tokens'),
55
+ embeddingCostPer1kTokens: zod_1.z.number().optional().describe('Cost per 1K embedding tokens'),
56
+ });
57
+ /**
58
+ * Model Configuration
59
+ */
60
+ exports.ModelConfigSchema = zod_1.z.object({
61
+ /** Identity */
62
+ id: zod_1.z.string().describe('Unique model identifier'),
63
+ name: zod_1.z.string().describe('Model display name'),
64
+ version: zod_1.z.string().describe('Model version (e.g., "gpt-4-turbo-2024-04-09")'),
65
+ provider: exports.ModelProviderSchema,
66
+ /** Capabilities */
67
+ capabilities: exports.ModelCapabilitySchema,
68
+ limits: exports.ModelLimitsSchema,
69
+ /** Pricing */
70
+ pricing: exports.ModelPricingSchema.optional(),
71
+ /** Configuration */
72
+ endpoint: zod_1.z.string().url().optional().describe('Custom API endpoint'),
73
+ apiKey: zod_1.z.string().optional().describe('API key or reference to secret'),
74
+ region: zod_1.z.string().optional().describe('Deployment region (e.g., "us-east-1")'),
75
+ /** Metadata */
76
+ description: zod_1.z.string().optional(),
77
+ tags: zod_1.z.array(zod_1.z.string()).optional().describe('Tags for categorization'),
78
+ deprecated: zod_1.z.boolean().optional().default(false),
79
+ recommendedFor: zod_1.z.array(zod_1.z.string()).optional().describe('Use case recommendations'),
80
+ });
81
+ /**
82
+ * Prompt Template Variable
83
+ */
84
+ exports.PromptVariableSchema = zod_1.z.object({
85
+ name: zod_1.z.string().describe('Variable name (e.g., "user_name", "context")'),
86
+ type: zod_1.z.enum(['string', 'number', 'boolean', 'object', 'array']).default('string'),
87
+ required: zod_1.z.boolean().default(false),
88
+ defaultValue: zod_1.z.any().optional(),
89
+ description: zod_1.z.string().optional(),
90
+ validation: zod_1.z.object({
91
+ minLength: zod_1.z.number().optional(),
92
+ maxLength: zod_1.z.number().optional(),
93
+ pattern: zod_1.z.string().optional(),
94
+ enum: zod_1.z.array(zod_1.z.any()).optional(),
95
+ }).optional(),
96
+ });
97
+ /**
98
+ * Prompt Template
99
+ */
100
+ exports.PromptTemplateSchema = zod_1.z.object({
101
+ /** Identity */
102
+ id: zod_1.z.string().describe('Unique template identifier'),
103
+ name: zod_1.z.string().regex(/^[a-z_][a-z0-9_]*$/).describe('Template name (snake_case)'),
104
+ label: zod_1.z.string().describe('Display name'),
105
+ /** Template Content */
106
+ system: zod_1.z.string().optional().describe('System prompt'),
107
+ user: zod_1.z.string().describe('User prompt template with variables'),
108
+ assistant: zod_1.z.string().optional().describe('Assistant message prefix'),
109
+ /** Variables */
110
+ variables: zod_1.z.array(exports.PromptVariableSchema).optional().describe('Template variables'),
111
+ /** Model Configuration */
112
+ modelId: zod_1.z.string().optional().describe('Recommended model ID'),
113
+ temperature: zod_1.z.number().min(0).max(2).optional(),
114
+ maxTokens: zod_1.z.number().optional(),
115
+ topP: zod_1.z.number().optional(),
116
+ frequencyPenalty: zod_1.z.number().optional(),
117
+ presencePenalty: zod_1.z.number().optional(),
118
+ stopSequences: zod_1.z.array(zod_1.z.string()).optional(),
119
+ /** Metadata */
120
+ version: zod_1.z.string().optional().default('1.0.0'),
121
+ description: zod_1.z.string().optional(),
122
+ category: zod_1.z.string().optional().describe('Template category (e.g., "code_generation", "support")'),
123
+ tags: zod_1.z.array(zod_1.z.string()).optional(),
124
+ examples: zod_1.z.array(zod_1.z.object({
125
+ input: zod_1.z.record(zod_1.z.any()).describe('Example variable values'),
126
+ output: zod_1.z.string().describe('Expected output'),
127
+ })).optional(),
128
+ });
129
+ /**
130
+ * Model Registry Entry
131
+ */
132
+ exports.ModelRegistryEntrySchema = zod_1.z.object({
133
+ model: exports.ModelConfigSchema,
134
+ status: zod_1.z.enum(['active', 'deprecated', 'experimental', 'disabled']).default('active'),
135
+ priority: zod_1.z.number().int().default(0).describe('Priority for model selection'),
136
+ fallbackModels: zod_1.z.array(zod_1.z.string()).optional().describe('Fallback model IDs'),
137
+ healthCheck: zod_1.z.object({
138
+ enabled: zod_1.z.boolean().default(true),
139
+ intervalSeconds: zod_1.z.number().int().default(300),
140
+ lastChecked: zod_1.z.string().optional().describe('ISO timestamp'),
141
+ status: zod_1.z.enum(['healthy', 'unhealthy', 'unknown']).default('unknown'),
142
+ }).optional(),
143
+ });
144
+ /**
145
+ * Model Registry
146
+ */
147
+ exports.ModelRegistrySchema = zod_1.z.object({
148
+ name: zod_1.z.string().describe('Registry name'),
149
+ models: zod_1.z.record(exports.ModelRegistryEntrySchema).describe('Model entries by ID'),
150
+ promptTemplates: zod_1.z.record(exports.PromptTemplateSchema).optional().describe('Prompt templates by name'),
151
+ defaultModel: zod_1.z.string().optional().describe('Default model ID'),
152
+ enableAutoFallback: zod_1.z.boolean().default(true).describe('Auto-fallback on errors'),
153
+ });
154
+ /**
155
+ * Model Selection Criteria
156
+ */
157
+ exports.ModelSelectionCriteriaSchema = zod_1.z.object({
158
+ capabilities: zod_1.z.array(zod_1.z.string()).optional().describe('Required capabilities'),
159
+ maxCostPer1kTokens: zod_1.z.number().optional().describe('Maximum acceptable cost'),
160
+ minContextWindow: zod_1.z.number().optional().describe('Minimum context window size'),
161
+ provider: exports.ModelProviderSchema.optional(),
162
+ tags: zod_1.z.array(zod_1.z.string()).optional(),
163
+ excludeDeprecated: zod_1.z.boolean().default(true),
164
+ });