@layer-ai/sdk 0.1.3 → 0.1.5

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 CHANGED
@@ -117,7 +117,7 @@ const gate = await layer.gates.get('my-gate');
117
117
 
118
118
  #### `layer.gates.create(data)` ⚠️ Requires Admin Mode
119
119
 
120
- Create a new gate.
120
+ Create a new gate. For detailed information about gate configuration fields, see the [Configuration Guide](../../CONFIG.md).
121
121
 
122
122
  ```typescript
123
123
  await layer.gates.create({
@@ -154,6 +154,20 @@ Delete a gate.
154
154
  await layer.gates.delete('my-gate');
155
155
  ```
156
156
 
157
+ #### `layer.gates.suggestions(gateName)`
158
+
159
+ Get AI-powered model recommendations for a gate based on its task description.
160
+
161
+ ```typescript
162
+ const suggestions = await layer.gates.suggestions('my-gate');
163
+
164
+ console.log(suggestions.primary); // "gpt-4o"
165
+ console.log(suggestions.alternatives); // ["claude-sonnet-4", "gemini-2.5-flash"]
166
+ console.log(suggestions.reasoning); // "Based on your task description..."
167
+ ```
168
+
169
+ Smart routing analyzes your gate's description and user preferences (cost, latency, quality weights) to recommend the best models from the registry.
170
+
157
171
  ### API Keys
158
172
 
159
173
  #### `layer.keys.list()`
package/dist/client.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { LayerConfig, RequestOptions } from './types.js';
2
- import type { CompletionRequest, CompletionResponse } from './types/index.js';
2
+ import type { CompletionRequest, CompletionResponse, LayerRequest, LayerResponse } from './types/index.js';
3
3
  import { GatesResource } from './resources/gates.js';
4
4
  import { KeysResource } from './resources/keys.js';
5
5
  import { LogsResource } from './resources/logs.js';
@@ -15,5 +15,6 @@ export declare class Layer {
15
15
  checkAdminMode(): void;
16
16
  request<T>(options: RequestOptions): Promise<T>;
17
17
  complete(params: CompletionRequest): Promise<CompletionResponse>;
18
+ completeV2(request: LayerRequest): Promise<LayerResponse>;
18
19
  }
19
20
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,KAAK,EAAiB,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAU;IAEpB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,YAAY,CAAC;gBAEd,MAAM,EAAE,WAAW;IAa/B,gBAAgB;IAChB,cAAc,IAAI,IAAI;IAgBT,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IA4BtD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAOvE"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,KAAK,EAAiB,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC1H,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAU;IAEpB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,YAAY,CAAC;gBAEd,MAAM,EAAE,WAAW;IAa/B,gBAAgB;IAChB,cAAc,IAAI,IAAI;IAgBT,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IA4BtD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAQhE,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;CAOhE"}
package/dist/client.js CHANGED
@@ -56,4 +56,11 @@ export class Layer {
56
56
  body: params,
57
57
  });
58
58
  }
59
+ async completeV2(request) {
60
+ return this.request({
61
+ method: 'POST',
62
+ path: '/v2/complete',
63
+ body: request,
64
+ });
65
+ }
59
66
  }
@@ -44,7 +44,8 @@ export declare class GatesResource {
44
44
  /**
45
45
  * Get AI-powered model suggestions for a gate.
46
46
  *
47
- * Layer-AI Internal Feature - returns a 404 on self-hosted public API
47
+ * Analyzes the gate's task description and returns suggested models
48
+ * with confidence scores based on the task requirements.
48
49
  */
49
50
  suggestions(gateName: string): Promise<TaskAnalysis>;
50
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gates.d.ts","sourceRoot":"","sources":["../../src/resources/gates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,qBAAa,aAAa;IACZ,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,KAAK;IAEjC;;;;;;;OAOG;IACG,MAAM,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IASpD;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAO7B;;;OAGG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtC;;;;;;;OAOG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IASlE;;;;;;;OAOG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzC;;;;OAIG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAM3D"}
1
+ {"version":3,"file":"gates.d.ts","sourceRoot":"","sources":["../../src/resources/gates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,qBAAa,aAAa;IACZ,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,KAAK;IAEjC;;;;;;;OAOG;IACG,MAAM,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IASpD;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAO7B;;;OAGG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtC;;;;;;;OAOG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IASlE;;;;;;;OAOG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzC;;;;;OAKG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAM3D"}
@@ -72,7 +72,8 @@ export class GatesResource {
72
72
  /**
73
73
  * Get AI-powered model suggestions for a gate.
74
74
  *
75
- * Layer-AI Internal Feature - returns a 404 on self-hosted public API
75
+ * Analyzes the gate's task description and returns suggested models
76
+ * with confidence scores based on the task requirements.
76
77
  */
77
78
  async suggestions(gateName) {
78
79
  return this.client.request({
@@ -0,0 +1,167 @@
1
+ export type Role = 'system' | 'user' | 'assistant' | 'tool' | 'function' | 'model' | 'developer';
2
+ export type ImageDetail = 'auto' | 'low' | 'high';
3
+ export type ImageSize = '256x256' | '512x512' | '1024x1024' | '1792x1024' | '1024x1792' | '1536x1024' | '1024x1536';
4
+ export type ImageQuality = 'standard' | 'hd';
5
+ export type ImageStyle = 'vivid' | 'natural';
6
+ export type AudioFormat = 'mp3' | 'opus' | 'aac' | 'flac' | 'wav' | 'pcm';
7
+ export type VideoSize = '720x1280' | '1280x720' | '1024x1792' | '1792x1024';
8
+ export type AudioMimeType = 'audio/mpeg' | 'audio/mp4' | 'audio/wav' | 'audio/webm' | 'audio/ogg' | 'audio/flac';
9
+ export type ImageMimeType = 'image/jpeg' | 'image/png' | 'image/gif' | 'image/webp';
10
+ export type ToolChoice = 'auto' | 'required' | 'none' | {
11
+ type: 'function';
12
+ function: {
13
+ name: string;
14
+ };
15
+ };
16
+ export type FinishReason = 'completed' | 'length_limit' | 'tool_call' | 'filtered' | 'error';
17
+ export type ResponseFormatType = 'text' | 'json_object' | 'json_schema';
18
+ export type EncodingFormat = 'float' | 'base64';
19
+ export declare const ADAPTER_HANDLED = "__ADAPTER_HANDLED__";
20
+ type BaseRequest = {
21
+ gate: string;
22
+ model?: string;
23
+ metadata?: Record<string, unknown>;
24
+ };
25
+ export type LayerRequest = (BaseRequest & {
26
+ type: 'chat';
27
+ data: ChatRequest;
28
+ }) | (BaseRequest & {
29
+ type: 'image';
30
+ data: ImageGenerationRequest;
31
+ }) | (BaseRequest & {
32
+ type: 'video';
33
+ data: VideoGenerationRequest;
34
+ }) | (BaseRequest & {
35
+ type: 'embeddings';
36
+ data: EmbeddingsRequest;
37
+ }) | (BaseRequest & {
38
+ type: 'tts';
39
+ data: TextToSpeechRequest;
40
+ });
41
+ export interface ChatRequest {
42
+ messages: MultimodalMessage[];
43
+ systemPrompt?: string;
44
+ tools?: Tool[];
45
+ toolChoice?: ToolChoice;
46
+ temperature?: number;
47
+ maxTokens?: number;
48
+ topP?: number;
49
+ stream?: boolean;
50
+ stopSequences?: string[];
51
+ frequencyPenalty?: number;
52
+ presencePenalty?: number;
53
+ responseFormat?: ResponseFormatType | {
54
+ type: ResponseFormatType;
55
+ json_schema?: unknown;
56
+ };
57
+ seed?: number;
58
+ }
59
+ export interface MultimodalMessage {
60
+ role: Role;
61
+ content?: string;
62
+ images?: ImageInput[];
63
+ audio?: AudioInput;
64
+ toolCallId?: string;
65
+ toolCalls?: ToolCall[];
66
+ name?: string;
67
+ }
68
+ export interface ImageInput {
69
+ url?: string;
70
+ base64?: string;
71
+ mimeType?: ImageMimeType;
72
+ detail?: ImageDetail;
73
+ }
74
+ export interface AudioInput {
75
+ url?: string;
76
+ base64?: string;
77
+ mimeType?: AudioMimeType;
78
+ format?: AudioFormat;
79
+ }
80
+ export interface Tool {
81
+ type: 'function';
82
+ function: {
83
+ name: string;
84
+ description?: string;
85
+ parameters?: {
86
+ type: 'object' | 'string' | 'number' | 'boolean' | 'array';
87
+ properties?: Record<string, unknown>;
88
+ required?: string[];
89
+ };
90
+ };
91
+ }
92
+ export interface ToolCall {
93
+ id: string;
94
+ type: 'function';
95
+ function: {
96
+ name: string;
97
+ arguments: string;
98
+ };
99
+ }
100
+ export interface ImageGenerationRequest {
101
+ prompt: string;
102
+ size?: ImageSize;
103
+ quality?: ImageQuality;
104
+ count?: number;
105
+ style?: ImageStyle;
106
+ seed?: number;
107
+ }
108
+ export interface VideoGenerationRequest {
109
+ prompt: string;
110
+ duration?: number | string;
111
+ size?: VideoSize;
112
+ fps?: number;
113
+ seed?: number;
114
+ }
115
+ export interface EmbeddingsRequest {
116
+ input: string | string[];
117
+ dimensions?: number;
118
+ encodingFormat?: EncodingFormat;
119
+ }
120
+ export interface TextToSpeechRequest {
121
+ input: string;
122
+ voice?: string;
123
+ speed?: number;
124
+ responseFormat?: AudioFormat;
125
+ }
126
+ export interface LayerResponse {
127
+ id?: string;
128
+ created?: number;
129
+ content?: string;
130
+ images?: ImageOutput[];
131
+ videos?: VideoOutput[];
132
+ audio?: AudioOutput;
133
+ embeddings?: number[][];
134
+ toolCalls?: ToolCall[];
135
+ model?: string;
136
+ finishReason?: FinishReason;
137
+ rawFinishReason?: string;
138
+ usage?: {
139
+ promptTokens?: number;
140
+ completionTokens?: number;
141
+ totalTokens?: number;
142
+ };
143
+ stream?: boolean;
144
+ cost?: number;
145
+ latencyMs?: number;
146
+ raw?: unknown;
147
+ }
148
+ export interface ImageOutput {
149
+ url?: string;
150
+ base64?: string;
151
+ revisedPrompt?: string;
152
+ }
153
+ export interface VideoOutput {
154
+ url?: string;
155
+ base64?: string;
156
+ duration?: number;
157
+ revisedPrompt?: string;
158
+ }
159
+ export interface AudioOutput {
160
+ url?: string;
161
+ base64?: string;
162
+ format?: AudioFormat;
163
+ text?: string;
164
+ duration?: number;
165
+ }
166
+ export {};
167
+ //# sourceMappingURL=api-v2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-v2.d.ts","sourceRoot":"","sources":["../../src/types/api-v2.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ // ====== NORMALIZED TYPES (BASED ON OPENAI) ======
2
+ export const ADAPTER_HANDLED = '__ADAPTER_HANDLED__';
@@ -2,6 +2,7 @@ export * from './models.js';
2
2
  export * from './model-registry.js';
3
3
  export * from './gates.js';
4
4
  export * from './api.js';
5
+ export * from './api-v2.js';
5
6
  export * from './keys.js';
6
7
  export * from './logs.js';
7
8
  export * from './smart-routing.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC"}
@@ -3,6 +3,7 @@ export * from './models.js';
3
3
  export * from './model-registry.js';
4
4
  export * from './gates.js';
5
5
  export * from './api.js';
6
+ export * from './api-v2.js';
6
7
  export * from './keys.js';
7
8
  export * from './logs.js';
8
9
  export * from './smart-routing.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@layer-ai/sdk",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "Configure multiple AI models at runtime without code changes or deployments",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -20,6 +20,11 @@
20
20
  "README.md",
21
21
  "LICENSE"
22
22
  ],
23
+ "scripts": {
24
+ "build": "tsc",
25
+ "dev": "tsc --watch",
26
+ "clean": "rm -rf dist"
27
+ },
23
28
  "keywords": [
24
29
  "ai",
25
30
  "llm",
@@ -52,10 +57,5 @@
52
57
  "devDependencies": {
53
58
  "@types/node": "^20.10.0",
54
59
  "typescript": "^5.9.3"
55
- },
56
- "scripts": {
57
- "build": "tsc",
58
- "dev": "tsc --watch",
59
- "clean": "rm -rf dist"
60
60
  }
61
61
  }