@cadenya/cadenya 0.96.0 → 0.97.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/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.97.0 (2026-07-01)
4
+
5
+ Full Changelog: [v0.96.0...v0.97.0](https://github.com/cadenya/cadenya-typescript/compare/v0.96.0...v0.97.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([22c875c](https://github.com/cadenya/cadenya-typescript/commit/22c875c6cb5a7495d2b853777abb4e03eee31f23))
10
+
3
11
  ## 0.96.0 (2026-06-23)
4
12
 
5
13
  Full Changelog: [v0.95.0...v0.96.0](https://github.com/cadenya/cadenya-typescript/compare/v0.95.0...v0.96.0)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cadenya/cadenya",
3
- "version": "0.96.0",
3
+ "version": "0.97.0",
4
4
  "description": "The official TypeScript library for the Cadenya API",
5
5
  "author": "Cadenya <support@cadenya.com>",
6
6
  "types": "./index.d.ts",
@@ -67,20 +67,113 @@ export declare namespace AIProviderKey {
67
67
  }
68
68
  export interface AIProviderKeySpec {
69
69
  /**
70
- * The provider credential. Accepted on create/update; never populated in responses
71
- * (the server returns an empty value to avoid leaking it).
70
+ * AIProviderConfig holds non-secret, provider-specific settings. The set case must
71
+ * correspond to AIProviderKeySpec.provider. Providers with no settings (Anthropic,
72
+ * Gemini) simply leave this unset. The endpoint of a named provider is fixed and
73
+ * intentionally not overridable here; use the OpenAI-compatible provider to target
74
+ * a custom endpoint.
72
75
  */
73
- apiKey?: string;
76
+ config?: AIProviderKeySpec.Config;
74
77
  /**
75
- * OpenRouterConfig holds OpenRouter-specific settings. Empty for now; it exists as
76
- * the oneof seam so provider-specific options (region, base URL, etc.) can be
77
- * added later without restructuring the spec.
78
+ * AIProviderCredential is the secret material used to authenticate with a
79
+ * provider. The set case must correspond to AIProviderKeySpec.provider. The server
80
+ * encrypts the serialized message at rest and never returns it on reads.
78
81
  */
79
- openrouter?: unknown;
82
+ credentials?: AIProviderKeySpec.Credentials;
80
83
  /**
81
84
  * The AI provider this key authenticates against.
82
85
  */
83
- provider?: 'AI_PROVIDER_UNSPECIFIED' | 'AI_PROVIDER_OPENROUTER';
86
+ provider?: 'AI_PROVIDER_UNSPECIFIED' | 'AI_PROVIDER_OPENROUTER' | 'AI_PROVIDER_OPENAI' | 'AI_PROVIDER_ANTHROPIC' | 'AI_PROVIDER_GEMINI' | 'AI_PROVIDER_OPENAI_COMPATIBLE';
87
+ }
88
+ export declare namespace AIProviderKeySpec {
89
+ /**
90
+ * AIProviderConfig holds non-secret, provider-specific settings. The set case must
91
+ * correspond to AIProviderKeySpec.provider. Providers with no settings (Anthropic,
92
+ * Gemini) simply leave this unset. The endpoint of a named provider is fixed and
93
+ * intentionally not overridable here; use the OpenAI-compatible provider to target
94
+ * a custom endpoint.
95
+ */
96
+ interface Config {
97
+ /**
98
+ * OpenAIConfig holds OpenAI-specific settings.
99
+ */
100
+ openai?: Config.OpenAI;
101
+ /**
102
+ * OpenAICompatibleConfig configures a generic endpoint that speaks the OpenAI Chat
103
+ * Completions API. The base URL is required and its model catalog is discovered
104
+ * live via GET {base_url}/models.
105
+ */
106
+ openaiCompatible?: Config.OpenAICompatible;
107
+ /**
108
+ * OpenRouterConfig holds OpenRouter-specific settings.
109
+ */
110
+ openrouter?: Config.Openrouter;
111
+ }
112
+ namespace Config {
113
+ /**
114
+ * OpenAIConfig holds OpenAI-specific settings.
115
+ */
116
+ interface OpenAI {
117
+ /**
118
+ * Sent as the OpenAI-Organization header when set.
119
+ */
120
+ organizationId?: string;
121
+ /**
122
+ * Sent as the OpenAI-Project header when set.
123
+ */
124
+ projectId?: string;
125
+ }
126
+ /**
127
+ * OpenAICompatibleConfig configures a generic endpoint that speaks the OpenAI Chat
128
+ * Completions API. The base URL is required and its model catalog is discovered
129
+ * live via GET {base_url}/models.
130
+ */
131
+ interface OpenAICompatible {
132
+ baseUrl?: string;
133
+ }
134
+ /**
135
+ * OpenRouterConfig holds OpenRouter-specific settings.
136
+ */
137
+ interface Openrouter {
138
+ /**
139
+ * Data-residency region (e.g. "us", "eu"). Empty uses the provider default.
140
+ */
141
+ region?: string;
142
+ }
143
+ }
144
+ /**
145
+ * AIProviderCredential is the secret material used to authenticate with a
146
+ * provider. The set case must correspond to AIProviderKeySpec.provider. The server
147
+ * encrypts the serialized message at rest and never returns it on reads.
148
+ */
149
+ interface Credentials {
150
+ /**
151
+ * CredentialAPIKey carries a single bearer/header API key.
152
+ */
153
+ apiKey?: Credentials.APIKey;
154
+ /**
155
+ * CredentialHeaders carries arbitrary HTTP headers sent with every request to the
156
+ * provider (e.g. {"Authorization": "Bearer ...", "X-Api-Key": "..."}).
157
+ */
158
+ headers?: Credentials.Headers;
159
+ }
160
+ namespace Credentials {
161
+ /**
162
+ * CredentialAPIKey carries a single bearer/header API key.
163
+ */
164
+ interface APIKey {
165
+ apiKey?: string;
166
+ }
167
+ /**
168
+ * CredentialHeaders carries arbitrary HTTP headers sent with every request to the
169
+ * provider (e.g. {"Authorization": "Bearer ...", "X-Api-Key": "..."}).
170
+ */
171
+ interface Headers {
172
+ headers?: {
173
+ [key: string]: string;
174
+ };
175
+ }
176
+ }
84
177
  }
85
178
  export interface AIProviderKeyCreateParams {
86
179
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ai-provider-keys.d.mts","sourceRoot":"","sources":["../src/resources/ai-provider-keys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-provider-keys.d.mts","sourceRoot":"","sources":["../src/resources/ai-provider-keys.ts"],"names":[],"mappings":"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"}
@@ -67,20 +67,113 @@ export declare namespace AIProviderKey {
67
67
  }
68
68
  export interface AIProviderKeySpec {
69
69
  /**
70
- * The provider credential. Accepted on create/update; never populated in responses
71
- * (the server returns an empty value to avoid leaking it).
70
+ * AIProviderConfig holds non-secret, provider-specific settings. The set case must
71
+ * correspond to AIProviderKeySpec.provider. Providers with no settings (Anthropic,
72
+ * Gemini) simply leave this unset. The endpoint of a named provider is fixed and
73
+ * intentionally not overridable here; use the OpenAI-compatible provider to target
74
+ * a custom endpoint.
72
75
  */
73
- apiKey?: string;
76
+ config?: AIProviderKeySpec.Config;
74
77
  /**
75
- * OpenRouterConfig holds OpenRouter-specific settings. Empty for now; it exists as
76
- * the oneof seam so provider-specific options (region, base URL, etc.) can be
77
- * added later without restructuring the spec.
78
+ * AIProviderCredential is the secret material used to authenticate with a
79
+ * provider. The set case must correspond to AIProviderKeySpec.provider. The server
80
+ * encrypts the serialized message at rest and never returns it on reads.
78
81
  */
79
- openrouter?: unknown;
82
+ credentials?: AIProviderKeySpec.Credentials;
80
83
  /**
81
84
  * The AI provider this key authenticates against.
82
85
  */
83
- provider?: 'AI_PROVIDER_UNSPECIFIED' | 'AI_PROVIDER_OPENROUTER';
86
+ provider?: 'AI_PROVIDER_UNSPECIFIED' | 'AI_PROVIDER_OPENROUTER' | 'AI_PROVIDER_OPENAI' | 'AI_PROVIDER_ANTHROPIC' | 'AI_PROVIDER_GEMINI' | 'AI_PROVIDER_OPENAI_COMPATIBLE';
87
+ }
88
+ export declare namespace AIProviderKeySpec {
89
+ /**
90
+ * AIProviderConfig holds non-secret, provider-specific settings. The set case must
91
+ * correspond to AIProviderKeySpec.provider. Providers with no settings (Anthropic,
92
+ * Gemini) simply leave this unset. The endpoint of a named provider is fixed and
93
+ * intentionally not overridable here; use the OpenAI-compatible provider to target
94
+ * a custom endpoint.
95
+ */
96
+ interface Config {
97
+ /**
98
+ * OpenAIConfig holds OpenAI-specific settings.
99
+ */
100
+ openai?: Config.OpenAI;
101
+ /**
102
+ * OpenAICompatibleConfig configures a generic endpoint that speaks the OpenAI Chat
103
+ * Completions API. The base URL is required and its model catalog is discovered
104
+ * live via GET {base_url}/models.
105
+ */
106
+ openaiCompatible?: Config.OpenAICompatible;
107
+ /**
108
+ * OpenRouterConfig holds OpenRouter-specific settings.
109
+ */
110
+ openrouter?: Config.Openrouter;
111
+ }
112
+ namespace Config {
113
+ /**
114
+ * OpenAIConfig holds OpenAI-specific settings.
115
+ */
116
+ interface OpenAI {
117
+ /**
118
+ * Sent as the OpenAI-Organization header when set.
119
+ */
120
+ organizationId?: string;
121
+ /**
122
+ * Sent as the OpenAI-Project header when set.
123
+ */
124
+ projectId?: string;
125
+ }
126
+ /**
127
+ * OpenAICompatibleConfig configures a generic endpoint that speaks the OpenAI Chat
128
+ * Completions API. The base URL is required and its model catalog is discovered
129
+ * live via GET {base_url}/models.
130
+ */
131
+ interface OpenAICompatible {
132
+ baseUrl?: string;
133
+ }
134
+ /**
135
+ * OpenRouterConfig holds OpenRouter-specific settings.
136
+ */
137
+ interface Openrouter {
138
+ /**
139
+ * Data-residency region (e.g. "us", "eu"). Empty uses the provider default.
140
+ */
141
+ region?: string;
142
+ }
143
+ }
144
+ /**
145
+ * AIProviderCredential is the secret material used to authenticate with a
146
+ * provider. The set case must correspond to AIProviderKeySpec.provider. The server
147
+ * encrypts the serialized message at rest and never returns it on reads.
148
+ */
149
+ interface Credentials {
150
+ /**
151
+ * CredentialAPIKey carries a single bearer/header API key.
152
+ */
153
+ apiKey?: Credentials.APIKey;
154
+ /**
155
+ * CredentialHeaders carries arbitrary HTTP headers sent with every request to the
156
+ * provider (e.g. {"Authorization": "Bearer ...", "X-Api-Key": "..."}).
157
+ */
158
+ headers?: Credentials.Headers;
159
+ }
160
+ namespace Credentials {
161
+ /**
162
+ * CredentialAPIKey carries a single bearer/header API key.
163
+ */
164
+ interface APIKey {
165
+ apiKey?: string;
166
+ }
167
+ /**
168
+ * CredentialHeaders carries arbitrary HTTP headers sent with every request to the
169
+ * provider (e.g. {"Authorization": "Bearer ...", "X-Api-Key": "..."}).
170
+ */
171
+ interface Headers {
172
+ headers?: {
173
+ [key: string]: string;
174
+ };
175
+ }
176
+ }
84
177
  }
85
178
  export interface AIProviderKeyCreateParams {
86
179
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ai-provider-keys.d.ts","sourceRoot":"","sources":["../src/resources/ai-provider-keys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-provider-keys.d.ts","sourceRoot":"","sources":["../src/resources/ai-provider-keys.ts"],"names":[],"mappings":"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"}
@@ -119,22 +119,130 @@ export namespace AIProviderKey {
119
119
 
120
120
  export interface AIProviderKeySpec {
121
121
  /**
122
- * The provider credential. Accepted on create/update; never populated in responses
123
- * (the server returns an empty value to avoid leaking it).
122
+ * AIProviderConfig holds non-secret, provider-specific settings. The set case must
123
+ * correspond to AIProviderKeySpec.provider. Providers with no settings (Anthropic,
124
+ * Gemini) simply leave this unset. The endpoint of a named provider is fixed and
125
+ * intentionally not overridable here; use the OpenAI-compatible provider to target
126
+ * a custom endpoint.
124
127
  */
125
- apiKey?: string;
128
+ config?: AIProviderKeySpec.Config;
126
129
 
127
130
  /**
128
- * OpenRouterConfig holds OpenRouter-specific settings. Empty for now; it exists as
129
- * the oneof seam so provider-specific options (region, base URL, etc.) can be
130
- * added later without restructuring the spec.
131
+ * AIProviderCredential is the secret material used to authenticate with a
132
+ * provider. The set case must correspond to AIProviderKeySpec.provider. The server
133
+ * encrypts the serialized message at rest and never returns it on reads.
131
134
  */
132
- openrouter?: unknown;
135
+ credentials?: AIProviderKeySpec.Credentials;
133
136
 
134
137
  /**
135
138
  * The AI provider this key authenticates against.
136
139
  */
137
- provider?: 'AI_PROVIDER_UNSPECIFIED' | 'AI_PROVIDER_OPENROUTER';
140
+ provider?:
141
+ | 'AI_PROVIDER_UNSPECIFIED'
142
+ | 'AI_PROVIDER_OPENROUTER'
143
+ | 'AI_PROVIDER_OPENAI'
144
+ | 'AI_PROVIDER_ANTHROPIC'
145
+ | 'AI_PROVIDER_GEMINI'
146
+ | 'AI_PROVIDER_OPENAI_COMPATIBLE';
147
+ }
148
+
149
+ export namespace AIProviderKeySpec {
150
+ /**
151
+ * AIProviderConfig holds non-secret, provider-specific settings. The set case must
152
+ * correspond to AIProviderKeySpec.provider. Providers with no settings (Anthropic,
153
+ * Gemini) simply leave this unset. The endpoint of a named provider is fixed and
154
+ * intentionally not overridable here; use the OpenAI-compatible provider to target
155
+ * a custom endpoint.
156
+ */
157
+ export interface Config {
158
+ /**
159
+ * OpenAIConfig holds OpenAI-specific settings.
160
+ */
161
+ openai?: Config.OpenAI;
162
+
163
+ /**
164
+ * OpenAICompatibleConfig configures a generic endpoint that speaks the OpenAI Chat
165
+ * Completions API. The base URL is required and its model catalog is discovered
166
+ * live via GET {base_url}/models.
167
+ */
168
+ openaiCompatible?: Config.OpenAICompatible;
169
+
170
+ /**
171
+ * OpenRouterConfig holds OpenRouter-specific settings.
172
+ */
173
+ openrouter?: Config.Openrouter;
174
+ }
175
+
176
+ export namespace Config {
177
+ /**
178
+ * OpenAIConfig holds OpenAI-specific settings.
179
+ */
180
+ export interface OpenAI {
181
+ /**
182
+ * Sent as the OpenAI-Organization header when set.
183
+ */
184
+ organizationId?: string;
185
+
186
+ /**
187
+ * Sent as the OpenAI-Project header when set.
188
+ */
189
+ projectId?: string;
190
+ }
191
+
192
+ /**
193
+ * OpenAICompatibleConfig configures a generic endpoint that speaks the OpenAI Chat
194
+ * Completions API. The base URL is required and its model catalog is discovered
195
+ * live via GET {base_url}/models.
196
+ */
197
+ export interface OpenAICompatible {
198
+ baseUrl?: string;
199
+ }
200
+
201
+ /**
202
+ * OpenRouterConfig holds OpenRouter-specific settings.
203
+ */
204
+ export interface Openrouter {
205
+ /**
206
+ * Data-residency region (e.g. "us", "eu"). Empty uses the provider default.
207
+ */
208
+ region?: string;
209
+ }
210
+ }
211
+
212
+ /**
213
+ * AIProviderCredential is the secret material used to authenticate with a
214
+ * provider. The set case must correspond to AIProviderKeySpec.provider. The server
215
+ * encrypts the serialized message at rest and never returns it on reads.
216
+ */
217
+ export interface Credentials {
218
+ /**
219
+ * CredentialAPIKey carries a single bearer/header API key.
220
+ */
221
+ apiKey?: Credentials.APIKey;
222
+
223
+ /**
224
+ * CredentialHeaders carries arbitrary HTTP headers sent with every request to the
225
+ * provider (e.g. {"Authorization": "Bearer ...", "X-Api-Key": "..."}).
226
+ */
227
+ headers?: Credentials.Headers;
228
+ }
229
+
230
+ export namespace Credentials {
231
+ /**
232
+ * CredentialAPIKey carries a single bearer/header API key.
233
+ */
234
+ export interface APIKey {
235
+ apiKey?: string;
236
+ }
237
+
238
+ /**
239
+ * CredentialHeaders carries arbitrary HTTP headers sent with every request to the
240
+ * provider (e.g. {"Authorization": "Bearer ...", "X-Api-Key": "..."}).
241
+ */
242
+ export interface Headers {
243
+ headers?: { [key: string]: string };
244
+ }
245
+ }
138
246
  }
139
247
 
140
248
  export interface AIProviderKeyCreateParams {
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const VERSION = '0.96.0'; // x-release-please-version
1
+ export const VERSION = '0.97.0'; // x-release-please-version
package/version.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.96.0";
1
+ export declare const VERSION = "0.97.0";
2
2
  //# sourceMappingURL=version.d.mts.map
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.96.0";
1
+ export declare const VERSION = "0.97.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = '0.96.0'; // x-release-please-version
4
+ exports.VERSION = '0.97.0'; // x-release-please-version
5
5
  //# sourceMappingURL=version.js.map
package/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = '0.96.0'; // x-release-please-version
1
+ export const VERSION = '0.97.0'; // x-release-please-version
2
2
  //# sourceMappingURL=version.mjs.map