@objectstack/spec 0.1.2 → 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.
- package/README.md +127 -5
- package/dist/ai/index.d.ts +14 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +29 -0
- package/dist/ai/model-registry.zod.d.ts +1389 -0
- package/dist/ai/model-registry.zod.d.ts.map +1 -0
- package/dist/ai/model-registry.zod.js +164 -0
- package/dist/ai/nlq.zod.d.ts +1126 -0
- package/dist/ai/nlq.zod.d.ts.map +1 -0
- package/dist/ai/nlq.zod.js +246 -0
- package/dist/ai/rag-pipeline.zod.d.ts +1034 -0
- package/dist/ai/rag-pipeline.zod.d.ts.map +1 -0
- package/dist/ai/rag-pipeline.zod.js +244 -0
- package/dist/api/index.d.ts +9 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +24 -0
- package/dist/data/filter.zod.d.ts +295 -0
- package/dist/data/filter.zod.d.ts.map +1 -0
- package/dist/data/filter.zod.js +226 -0
- package/dist/data/index.d.ts +21 -0
- package/dist/data/index.d.ts.map +1 -0
- package/dist/data/index.js +36 -0
- package/dist/data/query.zod.d.ts +386 -3
- package/dist/data/query.zod.d.ts.map +1 -1
- package/dist/data/query.zod.js +386 -3
- package/dist/data/validation.zod.d.ts +349 -0
- package/dist/data/validation.zod.d.ts.map +1 -1
- package/dist/data/validation.zod.js +395 -0
- package/dist/index.d.ts +36 -39
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +64 -47
- package/dist/system/auth-protocol.d.ts +175 -0
- package/dist/system/auth-protocol.d.ts.map +1 -0
- package/dist/system/auth-protocol.js +60 -0
- package/dist/system/auth.zod.d.ts +3319 -0
- package/dist/system/auth.zod.d.ts.map +1 -0
- package/dist/system/auth.zod.js +499 -0
- package/dist/system/datasource.zod.d.ts +118 -38
- package/dist/system/datasource.zod.d.ts.map +1 -1
- package/dist/system/datasource.zod.js +25 -6
- package/dist/system/driver.zod.d.ts +106 -0
- package/dist/system/driver.zod.d.ts.map +1 -1
- package/dist/system/driver.zod.js +47 -0
- package/dist/system/identity.zod.d.ts +234 -180
- package/dist/system/identity.zod.d.ts.map +1 -1
- package/dist/system/identity.zod.js +168 -51
- package/dist/system/index.d.ts +28 -0
- package/dist/system/index.d.ts.map +1 -0
- package/dist/system/index.js +43 -0
- package/dist/system/manifest.zod.d.ts +10 -10
- package/dist/system/organization.zod.d.ts +179 -0
- package/dist/system/organization.zod.d.ts.map +1 -0
- package/dist/system/organization.zod.js +129 -0
- package/dist/system/policy.zod.d.ts +10 -10
- package/dist/ui/action.zod.d.ts +2 -2
- package/dist/ui/dashboard.zod.d.ts +10 -10
- package/dist/ui/dashboard.zod.d.ts.map +1 -1
- package/dist/ui/dashboard.zod.js +3 -2
- package/dist/ui/index.d.ts +17 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +32 -0
- package/dist/ui/report.zod.d.ts +4 -32
- package/dist/ui/report.zod.d.ts.map +1 -1
- package/dist/ui/report.zod.js +3 -8
- package/dist/ui/theme.zod.d.ts +6 -6
- package/json-schema/Account.json +87 -0
- package/json-schema/AccountLinkingConfig.json +27 -0
- package/json-schema/AuthConfig.json +841 -0
- package/json-schema/AuthPluginConfig.json +28 -0
- package/json-schema/AuthStrategy.json +17 -0
- package/json-schema/AuthenticationConfig.json +601 -0
- package/json-schema/AuthenticationProvider.json +617 -0
- package/json-schema/CSRFConfig.json +31 -0
- package/json-schema/ChunkingStrategy.json +133 -0
- package/json-schema/ComparisonOperator.json +56 -0
- package/json-schema/Dashboard.json +20 -0
- package/json-schema/DashboardWidget.json +20 -0
- package/json-schema/DatabaseAdapter.json +38 -0
- package/json-schema/DatabaseMapping.json +48 -0
- package/json-schema/Datasource.json +25 -5
- package/json-schema/DatasourceCapabilities.json +25 -5
- package/json-schema/DocumentChunk.json +97 -0
- package/json-schema/DocumentLoaderConfig.json +69 -0
- package/json-schema/DocumentMetadata.json +61 -0
- package/json-schema/DriverCapabilities.json +30 -0
- package/json-schema/DriverDefinition.json +25 -5
- package/json-schema/DriverInterface.json +30 -0
- package/json-schema/EmailPasswordConfig.json +43 -0
- package/json-schema/EmbeddingModel.json +57 -0
- package/json-schema/EnterpriseAuthConfig.json +172 -0
- package/json-schema/Entity.json +55 -0
- package/json-schema/EqualityOperator.json +14 -0
- package/json-schema/FieldOperators.json +108 -0
- package/json-schema/FieldSynonymConfig.json +39 -0
- package/json-schema/FilterCondition.json +28 -0
- package/json-schema/Invitation.json +69 -0
- package/json-schema/InvitationStatus.json +15 -0
- package/json-schema/LDAPConfig.json +22 -5
- package/json-schema/MagicLinkConfig.json +21 -0
- package/json-schema/Member.json +46 -0
- package/json-schema/ModelCapability.json +47 -0
- package/json-schema/ModelConfig.json +181 -0
- package/json-schema/ModelLimits.json +45 -0
- package/json-schema/ModelPricing.json +28 -0
- package/json-schema/ModelProvider.json +19 -0
- package/json-schema/ModelRegistry.json +427 -0
- package/json-schema/ModelRegistryEntry.json +239 -0
- package/json-schema/ModelSelectionCriteria.json +50 -0
- package/json-schema/NLQAnalytics.json +106 -0
- package/json-schema/NLQFieldMapping.json +40 -0
- package/json-schema/NLQModelConfig.json +78 -0
- package/json-schema/NLQParseResult.json +252 -0
- package/json-schema/NLQRequest.json +110 -0
- package/json-schema/NLQResponse.json +288 -0
- package/json-schema/NLQTrainingExample.json +120 -0
- package/json-schema/NormalizedFilter.json +348 -0
- package/json-schema/OAuthProvider.json +66 -0
- package/json-schema/OIDCConfig.json +18 -3
- package/json-schema/Organization.json +52 -0
- package/json-schema/PasskeyConfig.json +54 -0
- package/json-schema/PromptTemplate.json +163 -0
- package/json-schema/PromptVariable.json +56 -0
- package/json-schema/QueryContext.json +72 -0
- package/json-schema/QueryFilter.json +34 -0
- package/json-schema/QueryIntent.json +21 -0
- package/json-schema/QueryTemplate.json +81 -0
- package/json-schema/RAGPipelineConfig.json +552 -0
- package/json-schema/RAGPipelineStatus.json +66 -0
- package/json-schema/RAGQueryRequest.json +64 -0
- package/json-schema/RAGQueryResponse.json +108 -0
- package/json-schema/RangeOperator.json +41 -0
- package/json-schema/RateLimitConfig.json +36 -0
- package/json-schema/Report.json +20 -26
- package/json-schema/RerankingConfig.json +34 -0
- package/json-schema/RetrievalStrategy.json +121 -0
- package/json-schema/SAMLConfig.json +17 -3
- package/json-schema/Session.json +63 -0
- package/json-schema/SessionConfig.json +56 -0
- package/json-schema/SetOperator.json +18 -0
- package/json-schema/SpecialOperator.json +18 -0
- package/json-schema/StandardAuthProvider.json +857 -0
- package/json-schema/StringOperator.json +21 -0
- package/json-schema/Timeframe.json +68 -0
- package/json-schema/TwoFactorConfig.json +40 -0
- package/json-schema/User.json +51 -0
- package/json-schema/UserFieldMapping.json +47 -0
- package/json-schema/VectorStoreConfig.json +82 -0
- package/json-schema/VectorStoreProvider.json +21 -0
- package/json-schema/VerificationToken.json +36 -0
- package/package.json +27 -1
- package/json-schema/AuthProtocol.json +0 -17
- 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
|
+
});
|