@cratis/ai 2.15.0 → 2.17.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/dist/cjs/generated/Harnesses/Harness.js +1 -1
- package/dist/cjs/generated/Harnesses/Harness.js.map +1 -1
- package/dist/cjs/generated/Providers/Adding/AddAnthropicProvider.js +75 -0
- package/dist/cjs/generated/Providers/Adding/AddAnthropicProvider.js.map +1 -0
- package/dist/cjs/generated/Providers/Adding/AddAzureOpenAIProvider.js +86 -0
- package/dist/cjs/generated/Providers/Adding/AddAzureOpenAIProvider.js.map +1 -0
- package/dist/cjs/generated/Providers/Adding/AddOpenAICompatibleProvider.js +86 -0
- package/dist/cjs/generated/Providers/Adding/AddOpenAICompatibleProvider.js.map +1 -0
- package/dist/cjs/generated/Providers/Adding/AddOpenAIProvider.js +75 -0
- package/dist/cjs/generated/Providers/Adding/AddOpenAIProvider.js.map +1 -0
- package/dist/cjs/generated/Providers/Adding/AddZAIProvider.js +86 -0
- package/dist/cjs/generated/Providers/Adding/AddZAIProvider.js.map +1 -0
- package/dist/cjs/generated/Providers/Reconfiguring/AnthropicProviderReconfigured.js +36 -0
- package/dist/cjs/generated/Providers/Reconfiguring/AnthropicProviderReconfigured.js.map +1 -0
- package/dist/cjs/generated/Providers/Reconfiguring/AzureOpenAIProviderReconfigured.js +43 -0
- package/dist/cjs/generated/Providers/Reconfiguring/AzureOpenAIProviderReconfigured.js.map +1 -0
- package/dist/cjs/generated/Providers/Reconfiguring/OpenAICompatibleProviderReconfigured.js +43 -0
- package/dist/cjs/generated/Providers/Reconfiguring/OpenAICompatibleProviderReconfigured.js.map +1 -0
- package/dist/cjs/generated/Providers/Reconfiguring/OpenAIProviderReconfigured.js +36 -0
- package/dist/cjs/generated/Providers/Reconfiguring/OpenAIProviderReconfigured.js.map +1 -0
- package/dist/cjs/generated/Providers/Reconfiguring/ReconfigureAnthropicProvider.js +57 -0
- package/dist/cjs/generated/Providers/Reconfiguring/ReconfigureAnthropicProvider.js.map +1 -0
- package/dist/cjs/generated/Providers/Reconfiguring/ReconfigureAzureOpenAIProvider.js +68 -0
- package/dist/cjs/generated/Providers/Reconfiguring/ReconfigureAzureOpenAIProvider.js.map +1 -0
- package/dist/cjs/generated/Providers/Reconfiguring/ReconfigureOpenAICompatibleProvider.js +68 -0
- package/dist/cjs/generated/Providers/Reconfiguring/ReconfigureOpenAICompatibleProvider.js.map +1 -0
- package/dist/cjs/generated/Providers/Reconfiguring/ReconfigureOpenAIProvider.js +57 -0
- package/dist/cjs/generated/Providers/Reconfiguring/ReconfigureOpenAIProvider.js.map +1 -0
- package/dist/cjs/generated/Providers/Reconfiguring/ReconfigureZAIProvider.js +68 -0
- package/dist/cjs/generated/Providers/Reconfiguring/ReconfigureZAIProvider.js.map +1 -0
- package/dist/cjs/generated/Providers/Reconfiguring/ZAIProviderReconfigured.js +43 -0
- package/dist/cjs/generated/Providers/Reconfiguring/ZAIProviderReconfigured.js.map +1 -0
- package/dist/cjs/generated/Providers/Removing/RemoveAIProvider.js +45 -0
- package/dist/cjs/generated/Providers/Removing/RemoveAIProvider.js.map +1 -0
- package/dist/cjs/generated/Providers/Renaming/RenameAIProvider.js +56 -0
- package/dist/cjs/generated/Providers/Renaming/RenameAIProvider.js.map +1 -0
- package/dist/cjs/generated/Usage/Daily/AgentUsageByDay.js.map +1 -1
- package/dist/cjs/generated/Usage/Daily/LastYear.js +1 -1
- package/dist/cjs/generated/Usage/Daily/LastYear.js.map +1 -1
- package/dist/cjs/generated/Usage/RecordAgentSessionUsage.js +1 -1
- package/dist/cjs/generated/Usage/RecordAgentSessionUsage.js.map +1 -1
- package/dist/cjs/generated/Usage/Trends/AgentUsageByMonth.js.map +1 -1
- package/dist/cjs/generated/Usage/Trends/AgentUsageByWeek.js.map +1 -1
- package/dist/cjs/generated/Usage/Trends/RecentMonths.js +1 -1
- package/dist/cjs/generated/Usage/Trends/RecentMonths.js.map +1 -1
- package/dist/cjs/generated/Usage/Trends/RecentWeeks.js +1 -1
- package/dist/cjs/generated/Usage/Trends/RecentWeeks.js.map +1 -1
- package/dist/cjs/index.js +39 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/generated/Harnesses/Harness.js +1 -1
- package/dist/esm/generated/Harnesses/Harness.js.map +1 -1
- package/dist/esm/generated/Providers/Adding/AddAnthropicProvider.d.ts +32 -0
- package/dist/esm/generated/Providers/Adding/AddAnthropicProvider.d.ts.map +1 -0
- package/dist/esm/generated/Providers/Adding/AddAnthropicProvider.js +72 -0
- package/dist/esm/generated/Providers/Adding/AddAnthropicProvider.js.map +1 -0
- package/dist/esm/generated/Providers/Adding/AddAzureOpenAIProvider.d.ts +36 -0
- package/dist/esm/generated/Providers/Adding/AddAzureOpenAIProvider.d.ts.map +1 -0
- package/dist/esm/generated/Providers/Adding/AddAzureOpenAIProvider.js +83 -0
- package/dist/esm/generated/Providers/Adding/AddAzureOpenAIProvider.js.map +1 -0
- package/dist/esm/generated/Providers/Adding/AddOpenAICompatibleProvider.d.ts +36 -0
- package/dist/esm/generated/Providers/Adding/AddOpenAICompatibleProvider.d.ts.map +1 -0
- package/dist/esm/generated/Providers/Adding/AddOpenAICompatibleProvider.js +83 -0
- package/dist/esm/generated/Providers/Adding/AddOpenAICompatibleProvider.js.map +1 -0
- package/dist/esm/generated/Providers/Adding/AddOpenAIProvider.d.ts +32 -0
- package/dist/esm/generated/Providers/Adding/AddOpenAIProvider.d.ts.map +1 -0
- package/dist/esm/generated/Providers/Adding/AddOpenAIProvider.js +72 -0
- package/dist/esm/generated/Providers/Adding/AddOpenAIProvider.js.map +1 -0
- package/dist/esm/generated/Providers/Adding/AddZAIProvider.d.ts +36 -0
- package/dist/esm/generated/Providers/Adding/AddZAIProvider.d.ts.map +1 -0
- package/dist/esm/generated/Providers/Adding/AddZAIProvider.js +83 -0
- package/dist/esm/generated/Providers/Adding/AddZAIProvider.js.map +1 -0
- package/dist/esm/generated/Providers/Adding/index.d.ts +6 -0
- package/dist/esm/generated/Providers/Adding/index.d.ts.map +1 -0
- package/dist/esm/generated/Providers/Adding/index.js +6 -0
- package/dist/esm/generated/Providers/Adding/index.js.map +1 -0
- package/dist/esm/generated/Providers/Reconfiguring/AnthropicProviderReconfigured.d.ts +4 -0
- package/dist/esm/generated/Providers/Reconfiguring/AnthropicProviderReconfigured.d.ts.map +1 -0
- package/dist/esm/generated/Providers/Reconfiguring/AnthropicProviderReconfigured.js +34 -0
- package/dist/esm/generated/Providers/Reconfiguring/AnthropicProviderReconfigured.js.map +1 -0
- package/dist/esm/generated/Providers/Reconfiguring/AzureOpenAIProviderReconfigured.d.ts +5 -0
- package/dist/esm/generated/Providers/Reconfiguring/AzureOpenAIProviderReconfigured.d.ts.map +1 -0
- package/dist/esm/generated/Providers/Reconfiguring/AzureOpenAIProviderReconfigured.js +41 -0
- package/dist/esm/generated/Providers/Reconfiguring/AzureOpenAIProviderReconfigured.js.map +1 -0
- package/dist/esm/generated/Providers/Reconfiguring/OpenAICompatibleProviderReconfigured.d.ts +5 -0
- package/dist/esm/generated/Providers/Reconfiguring/OpenAICompatibleProviderReconfigured.d.ts.map +1 -0
- package/dist/esm/generated/Providers/Reconfiguring/OpenAICompatibleProviderReconfigured.js +41 -0
- package/dist/esm/generated/Providers/Reconfiguring/OpenAICompatibleProviderReconfigured.js.map +1 -0
- package/dist/esm/generated/Providers/Reconfiguring/OpenAIProviderReconfigured.d.ts +4 -0
- package/dist/esm/generated/Providers/Reconfiguring/OpenAIProviderReconfigured.d.ts.map +1 -0
- package/dist/esm/generated/Providers/Reconfiguring/OpenAIProviderReconfigured.js +34 -0
- package/dist/esm/generated/Providers/Reconfiguring/OpenAIProviderReconfigured.js.map +1 -0
- package/dist/esm/generated/Providers/Reconfiguring/ReconfigureAnthropicProvider.d.ts +25 -0
- package/dist/esm/generated/Providers/Reconfiguring/ReconfigureAnthropicProvider.d.ts.map +1 -0
- package/dist/esm/generated/Providers/Reconfiguring/ReconfigureAnthropicProvider.js +55 -0
- package/dist/esm/generated/Providers/Reconfiguring/ReconfigureAnthropicProvider.js.map +1 -0
- package/dist/esm/generated/Providers/Reconfiguring/ReconfigureAzureOpenAIProvider.d.ts +29 -0
- package/dist/esm/generated/Providers/Reconfiguring/ReconfigureAzureOpenAIProvider.d.ts.map +1 -0
- package/dist/esm/generated/Providers/Reconfiguring/ReconfigureAzureOpenAIProvider.js +66 -0
- package/dist/esm/generated/Providers/Reconfiguring/ReconfigureAzureOpenAIProvider.js.map +1 -0
- package/dist/esm/generated/Providers/Reconfiguring/ReconfigureOpenAICompatibleProvider.d.ts +29 -0
- package/dist/esm/generated/Providers/Reconfiguring/ReconfigureOpenAICompatibleProvider.d.ts.map +1 -0
- package/dist/esm/generated/Providers/Reconfiguring/ReconfigureOpenAICompatibleProvider.js +66 -0
- package/dist/esm/generated/Providers/Reconfiguring/ReconfigureOpenAICompatibleProvider.js.map +1 -0
- package/dist/esm/generated/Providers/Reconfiguring/ReconfigureOpenAIProvider.d.ts +25 -0
- package/dist/esm/generated/Providers/Reconfiguring/ReconfigureOpenAIProvider.d.ts.map +1 -0
- package/dist/esm/generated/Providers/Reconfiguring/ReconfigureOpenAIProvider.js +55 -0
- package/dist/esm/generated/Providers/Reconfiguring/ReconfigureOpenAIProvider.js.map +1 -0
- package/dist/esm/generated/Providers/Reconfiguring/ReconfigureZAIProvider.d.ts +29 -0
- package/dist/esm/generated/Providers/Reconfiguring/ReconfigureZAIProvider.d.ts.map +1 -0
- package/dist/esm/generated/Providers/Reconfiguring/ReconfigureZAIProvider.js +66 -0
- package/dist/esm/generated/Providers/Reconfiguring/ReconfigureZAIProvider.js.map +1 -0
- package/dist/esm/generated/Providers/Reconfiguring/ZAIProviderReconfigured.d.ts +5 -0
- package/dist/esm/generated/Providers/Reconfiguring/ZAIProviderReconfigured.d.ts.map +1 -0
- package/dist/esm/generated/Providers/Reconfiguring/ZAIProviderReconfigured.js +41 -0
- package/dist/esm/generated/Providers/Reconfiguring/ZAIProviderReconfigured.js.map +1 -0
- package/dist/esm/generated/Providers/Reconfiguring/index.d.ts +11 -0
- package/dist/esm/generated/Providers/Reconfiguring/index.d.ts.map +1 -0
- package/dist/esm/generated/Providers/Reconfiguring/index.js +11 -0
- package/dist/esm/generated/Providers/Reconfiguring/index.js.map +1 -0
- package/dist/esm/generated/Providers/Removing/RemoveAIProvider.d.ts +20 -0
- package/dist/esm/generated/Providers/Removing/RemoveAIProvider.d.ts.map +1 -0
- package/dist/esm/generated/Providers/Removing/RemoveAIProvider.js +43 -0
- package/dist/esm/generated/Providers/Removing/RemoveAIProvider.js.map +1 -0
- package/dist/esm/generated/Providers/Removing/index.d.ts +2 -0
- package/dist/esm/generated/Providers/Removing/index.d.ts.map +1 -0
- package/dist/esm/generated/Providers/Removing/index.js +2 -0
- package/dist/esm/generated/Providers/Removing/index.js.map +1 -0
- package/dist/esm/generated/Providers/Renaming/RenameAIProvider.d.ts +24 -0
- package/dist/esm/generated/Providers/Renaming/RenameAIProvider.d.ts.map +1 -0
- package/dist/esm/generated/Providers/Renaming/RenameAIProvider.js +54 -0
- package/dist/esm/generated/Providers/Renaming/RenameAIProvider.js.map +1 -0
- package/dist/esm/generated/Providers/Renaming/index.d.ts +2 -0
- package/dist/esm/generated/Providers/Renaming/index.d.ts.map +1 -0
- package/dist/esm/generated/Providers/Renaming/index.js +2 -0
- package/dist/esm/generated/Providers/Renaming/index.js.map +1 -0
- package/dist/esm/generated/Usage/Daily/AgentUsageByDay.js.map +1 -1
- package/dist/esm/generated/Usage/Daily/LastYear.js +1 -1
- package/dist/esm/generated/Usage/Daily/LastYear.js.map +1 -1
- package/dist/esm/generated/Usage/RecordAgentSessionUsage.js +1 -1
- package/dist/esm/generated/Usage/RecordAgentSessionUsage.js.map +1 -1
- package/dist/esm/generated/Usage/Trends/AgentUsageByMonth.js.map +1 -1
- package/dist/esm/generated/Usage/Trends/AgentUsageByWeek.js.map +1 -1
- package/dist/esm/generated/Usage/Trends/RecentMonths.js +1 -1
- package/dist/esm/generated/Usage/Trends/RecentMonths.js.map +1 -1
- package/dist/esm/generated/Usage/Trends/RecentWeeks.js +1 -1
- package/dist/esm/generated/Usage/Trends/RecentWeeks.js.map +1 -1
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +17 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/generated/Harnesses/Harness.ts +1 -1
- package/generated/Providers/Adding/AddAnthropicProvider.ts +108 -0
- package/generated/Providers/Adding/AddAzureOpenAIProvider.ts +126 -0
- package/generated/Providers/Adding/AddOpenAICompatibleProvider.ts +126 -0
- package/generated/Providers/Adding/AddOpenAIProvider.ts +108 -0
- package/generated/Providers/Adding/AddZAIProvider.ts +126 -0
- package/generated/Providers/Adding/index.ts +5 -0
- package/generated/Providers/Reconfiguring/AnthropicProviderReconfigured.ts +20 -0
- package/generated/Providers/Reconfiguring/AzureOpenAIProviderReconfigured.ts +26 -0
- package/generated/Providers/Reconfiguring/OpenAICompatibleProviderReconfigured.ts +26 -0
- package/generated/Providers/Reconfiguring/OpenAIProviderReconfigured.ts +20 -0
- package/generated/Providers/Reconfiguring/ReconfigureAnthropicProvider.ts +84 -0
- package/generated/Providers/Reconfiguring/ReconfigureAzureOpenAIProvider.ts +102 -0
- package/generated/Providers/Reconfiguring/ReconfigureOpenAICompatibleProvider.ts +102 -0
- package/generated/Providers/Reconfiguring/ReconfigureOpenAIProvider.ts +84 -0
- package/generated/Providers/Reconfiguring/ReconfigureZAIProvider.ts +102 -0
- package/generated/Providers/Reconfiguring/ZAIProviderReconfigured.ts +26 -0
- package/generated/Providers/Reconfiguring/index.ts +10 -0
- package/generated/Providers/Removing/RemoveAIProvider.ts +65 -0
- package/generated/Providers/Removing/index.ts +1 -0
- package/generated/Providers/Renaming/RenameAIProvider.ts +83 -0
- package/generated/Providers/Renaming/index.ts +1 -0
- package/generated/Usage/Daily/AgentUsageByDay.ts +1 -1
- package/generated/Usage/Daily/LastYear.ts +1 -1
- package/generated/Usage/RecordAgentSessionUsage.ts +1 -1
- package/generated/Usage/Trends/AgentUsageByMonth.ts +1 -1
- package/generated/Usage/Trends/AgentUsageByWeek.ts +1 -1
- package/generated/Usage/Trends/RecentMonths.ts +1 -1
- package/generated/Usage/Trends/RecentWeeks.ts +1 -1
- package/index.ts +4 -0
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @generated by Cratis. Source: Cratis.AI.Harnesses.Harness. Time: 2026-09-
|
|
1
|
+
// @generated by Cratis. Source: Cratis.AI.Harnesses.Harness. Time: 2026-09-15T16:31:10.0419493Z. Hash: 998FE1093B65276DB88F2E4904A3A48FB362909D1A150190218015501F903174
|
|
2
2
|
/*---------------------------------------------------------------------------------------------
|
|
3
3
|
* **DO NOT EDIT** - This file is an automatically generated file.
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
// @generated by Cratis. Source: Cratis.AI.Providers.Adding.AddAnthropicProvider. Time: 2026-09-15T16:31:09.9367206Z. Hash: 45C4374EF90677C9573682C70DC0914E035118CA581A3D6ED904A059A5DEF8D8
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* **DO NOT EDIT** - This file is an automatically generated file.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
|
|
6
|
+
/* eslint-disable sort-imports */
|
|
7
|
+
/* eslint-disable @typescript-eslint/no-empty-interface */
|
|
8
|
+
// eslint-disable-next-line header/header
|
|
9
|
+
import { Command, CommandValidator } from '@cratis/arc/commands';
|
|
10
|
+
import { useCommand, SetCommandValues, ClearCommandValues } from '@cratis/arc.react/commands';
|
|
11
|
+
import { PropertyDescriptor } from '@cratis/arc/reflection';
|
|
12
|
+
import { Guid } from '@cratis/fundamentals';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Command for adding an Anthropic AI provider - a named API key, callable from any agent that picks it. Ported from Direct's `AIProviders.Adding.AddAnthropicProvider` (plan Section 5.2 step 4), rewired onto the package's own {@link ISecretProtector} in place of Direct's tenant-scoped `ISecurityTokenProtector`.
|
|
16
|
+
*/
|
|
17
|
+
export interface IAddAnthropicProvider {
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The Anthropic API key.
|
|
21
|
+
*/
|
|
22
|
+
apiKey?: string;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* How many worker sessions may run on it at once - zero for no limit.
|
|
26
|
+
*/
|
|
27
|
+
maxConcurrentJobs?: number;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* The provider's display name.
|
|
31
|
+
*/
|
|
32
|
+
name?: string;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export class AddAnthropicProviderValidator extends CommandValidator<IAddAnthropicProvider> {
|
|
36
|
+
constructor() {
|
|
37
|
+
super();
|
|
38
|
+
this.ruleFor(c => c.maxConcurrentJobs).greaterThanOrEqual(0).withMessage('A concurrency limit cannot be negative - use zero for no limit');
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Command for adding an Anthropic AI provider - a named API key, callable from any agent that picks it. Ported from Direct's `AIProviders.Adding.AddAnthropicProvider` (plan Section 5.2 step 4), rewired onto the package's own {@link ISecretProtector} in place of Direct's tenant-scoped `ISecurityTokenProtector`.
|
|
44
|
+
*/
|
|
45
|
+
export class AddAnthropicProvider extends Command<IAddAnthropicProvider, Guid> implements IAddAnthropicProvider {
|
|
46
|
+
readonly route: string = '/api/a-i/providers/adding/add-anthropic-provider';
|
|
47
|
+
readonly validation: CommandValidator = new AddAnthropicProviderValidator();
|
|
48
|
+
readonly treatWarningsAsErrors: boolean = false;
|
|
49
|
+
readonly roles: string[] = [];
|
|
50
|
+
readonly propertyDescriptors: PropertyDescriptor[] = [
|
|
51
|
+
new PropertyDescriptor('apiKey', String, false),
|
|
52
|
+
new PropertyDescriptor('maxConcurrentJobs', Number, false),
|
|
53
|
+
new PropertyDescriptor('name', String, false),
|
|
54
|
+
];
|
|
55
|
+
|
|
56
|
+
private _apiKey!: string;
|
|
57
|
+
private _maxConcurrentJobs!: number;
|
|
58
|
+
private _name!: string;
|
|
59
|
+
|
|
60
|
+
constructor() {
|
|
61
|
+
super(Guid, false);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
get requestParameters(): string[] {
|
|
65
|
+
return [
|
|
66
|
+
];
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* The Anthropic API key.
|
|
71
|
+
*/
|
|
72
|
+
get apiKey(): string {
|
|
73
|
+
return this._apiKey;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
set apiKey(value: string) {
|
|
77
|
+
this._apiKey = value;
|
|
78
|
+
this.propertyChanged('apiKey');
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* How many worker sessions may run on it at once - zero for no limit.
|
|
82
|
+
*/
|
|
83
|
+
get maxConcurrentJobs(): number {
|
|
84
|
+
return this._maxConcurrentJobs;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
set maxConcurrentJobs(value: number) {
|
|
88
|
+
this._maxConcurrentJobs = value;
|
|
89
|
+
this.propertyChanged('maxConcurrentJobs');
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* The provider's display name.
|
|
93
|
+
*/
|
|
94
|
+
get name(): string {
|
|
95
|
+
return this._name;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
set name(value: string) {
|
|
99
|
+
this._name = value;
|
|
100
|
+
this.propertyChanged('name');
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
static use(initialValues?: IAddAnthropicProvider): [AddAnthropicProvider, SetCommandValues<IAddAnthropicProvider>, ClearCommandValues] {
|
|
104
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
105
|
+
// @ts-ignore
|
|
106
|
+
return useCommand<AddAnthropicProvider, IAddAnthropicProvider>(AddAnthropicProvider, initialValues);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
// @generated by Cratis. Source: Cratis.AI.Providers.Adding.AddAzureOpenAIProvider. Time: 2026-09-15T16:31:09.9367206Z. Hash: A27E326198BFC90872E61300D2494450CE3FB921477188F0EFD0368813387A8C
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* **DO NOT EDIT** - This file is an automatically generated file.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
|
|
6
|
+
/* eslint-disable sort-imports */
|
|
7
|
+
/* eslint-disable @typescript-eslint/no-empty-interface */
|
|
8
|
+
// eslint-disable-next-line header/header
|
|
9
|
+
import { Command, CommandValidator } from '@cratis/arc/commands';
|
|
10
|
+
import { useCommand, SetCommandValues, ClearCommandValues } from '@cratis/arc.react/commands';
|
|
11
|
+
import { PropertyDescriptor } from '@cratis/arc/reflection';
|
|
12
|
+
import { Guid } from '@cratis/fundamentals';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Command for adding an Azure OpenAI AI provider - a named deployment at a tenant-specific endpoint. Ported from Direct's `AIProviders.Adding.AddAzureOpenAIProvider` (plan Section 5.2 step 4).
|
|
16
|
+
*/
|
|
17
|
+
export interface IAddAzureOpenAIProvider {
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The Azure OpenAI API key.
|
|
21
|
+
*/
|
|
22
|
+
apiKey?: string;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* The Azure OpenAI resource endpoint.
|
|
26
|
+
*/
|
|
27
|
+
endpoint?: string;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* How many worker sessions may run on it at once - zero for no limit.
|
|
31
|
+
*/
|
|
32
|
+
maxConcurrentJobs?: number;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* The provider's display name.
|
|
36
|
+
*/
|
|
37
|
+
name?: string;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export class AddAzureOpenAIProviderValidator extends CommandValidator<IAddAzureOpenAIProvider> {
|
|
41
|
+
constructor() {
|
|
42
|
+
super();
|
|
43
|
+
this.ruleFor(c => c.maxConcurrentJobs).greaterThanOrEqual(0).withMessage('A concurrency limit cannot be negative - use zero for no limit');
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Command for adding an Azure OpenAI AI provider - a named deployment at a tenant-specific endpoint. Ported from Direct's `AIProviders.Adding.AddAzureOpenAIProvider` (plan Section 5.2 step 4).
|
|
49
|
+
*/
|
|
50
|
+
export class AddAzureOpenAIProvider extends Command<IAddAzureOpenAIProvider, Guid> implements IAddAzureOpenAIProvider {
|
|
51
|
+
readonly route: string = '/api/a-i/providers/adding/add-azure-open-a-i-provider';
|
|
52
|
+
readonly validation: CommandValidator = new AddAzureOpenAIProviderValidator();
|
|
53
|
+
readonly treatWarningsAsErrors: boolean = false;
|
|
54
|
+
readonly roles: string[] = [];
|
|
55
|
+
readonly propertyDescriptors: PropertyDescriptor[] = [
|
|
56
|
+
new PropertyDescriptor('apiKey', String, false),
|
|
57
|
+
new PropertyDescriptor('endpoint', String, false),
|
|
58
|
+
new PropertyDescriptor('maxConcurrentJobs', Number, false),
|
|
59
|
+
new PropertyDescriptor('name', String, false),
|
|
60
|
+
];
|
|
61
|
+
|
|
62
|
+
private _apiKey!: string;
|
|
63
|
+
private _endpoint!: string;
|
|
64
|
+
private _maxConcurrentJobs!: number;
|
|
65
|
+
private _name!: string;
|
|
66
|
+
|
|
67
|
+
constructor() {
|
|
68
|
+
super(Guid, false);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
get requestParameters(): string[] {
|
|
72
|
+
return [
|
|
73
|
+
];
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* The Azure OpenAI API key.
|
|
78
|
+
*/
|
|
79
|
+
get apiKey(): string {
|
|
80
|
+
return this._apiKey;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
set apiKey(value: string) {
|
|
84
|
+
this._apiKey = value;
|
|
85
|
+
this.propertyChanged('apiKey');
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* The Azure OpenAI resource endpoint.
|
|
89
|
+
*/
|
|
90
|
+
get endpoint(): string {
|
|
91
|
+
return this._endpoint;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
set endpoint(value: string) {
|
|
95
|
+
this._endpoint = value;
|
|
96
|
+
this.propertyChanged('endpoint');
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* How many worker sessions may run on it at once - zero for no limit.
|
|
100
|
+
*/
|
|
101
|
+
get maxConcurrentJobs(): number {
|
|
102
|
+
return this._maxConcurrentJobs;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
set maxConcurrentJobs(value: number) {
|
|
106
|
+
this._maxConcurrentJobs = value;
|
|
107
|
+
this.propertyChanged('maxConcurrentJobs');
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* The provider's display name.
|
|
111
|
+
*/
|
|
112
|
+
get name(): string {
|
|
113
|
+
return this._name;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
set name(value: string) {
|
|
117
|
+
this._name = value;
|
|
118
|
+
this.propertyChanged('name');
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
static use(initialValues?: IAddAzureOpenAIProvider): [AddAzureOpenAIProvider, SetCommandValues<IAddAzureOpenAIProvider>, ClearCommandValues] {
|
|
122
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
123
|
+
// @ts-ignore
|
|
124
|
+
return useCommand<AddAzureOpenAIProvider, IAddAzureOpenAIProvider>(AddAzureOpenAIProvider, initialValues);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
// @generated by Cratis. Source: Cratis.AI.Providers.Adding.AddOpenAICompatibleProvider. Time: 2026-09-15T16:31:09.9367206Z. Hash: D971DCDC59215AA87BDC6CBB0505C8847C16E4748EC20FD0F46AAE473EF20B8C
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* **DO NOT EDIT** - This file is an automatically generated file.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
|
|
6
|
+
/* eslint-disable sort-imports */
|
|
7
|
+
/* eslint-disable @typescript-eslint/no-empty-interface */
|
|
8
|
+
// eslint-disable-next-line header/header
|
|
9
|
+
import { Command, CommandValidator } from '@cratis/arc/commands';
|
|
10
|
+
import { useCommand, SetCommandValues, ClearCommandValues } from '@cratis/arc.react/commands';
|
|
11
|
+
import { PropertyDescriptor } from '@cratis/arc/reflection';
|
|
12
|
+
import { Guid } from '@cratis/fundamentals';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Command for adding an OpenAI-compatible AI provider - a self-hosted or third-party endpoint that speaks OpenAI's chat-completions API shape (Ollama, LocalAI, and similar). The API key is optional: many local gateways accept requests unauthenticated. Ported from Direct's `AIProviders.Adding.AddOpenAICompatibleProvider` (plan Section 5.2 step 4).
|
|
16
|
+
*/
|
|
17
|
+
export interface IAddOpenAICompatibleProvider {
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The API key, when the endpoint requires one.
|
|
21
|
+
*/
|
|
22
|
+
apiKey?: string;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* The endpoint to send chat-completions requests to.
|
|
26
|
+
*/
|
|
27
|
+
endpoint?: string;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* How many worker sessions may run on it at once - zero for no limit.
|
|
31
|
+
*/
|
|
32
|
+
maxConcurrentJobs?: number;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* The provider's display name.
|
|
36
|
+
*/
|
|
37
|
+
name?: string;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export class AddOpenAICompatibleProviderValidator extends CommandValidator<IAddOpenAICompatibleProvider> {
|
|
41
|
+
constructor() {
|
|
42
|
+
super();
|
|
43
|
+
this.ruleFor(c => c.maxConcurrentJobs).greaterThanOrEqual(0).withMessage('A concurrency limit cannot be negative - use zero for no limit');
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Command for adding an OpenAI-compatible AI provider - a self-hosted or third-party endpoint that speaks OpenAI's chat-completions API shape (Ollama, LocalAI, and similar). The API key is optional: many local gateways accept requests unauthenticated. Ported from Direct's `AIProviders.Adding.AddOpenAICompatibleProvider` (plan Section 5.2 step 4).
|
|
49
|
+
*/
|
|
50
|
+
export class AddOpenAICompatibleProvider extends Command<IAddOpenAICompatibleProvider, Guid> implements IAddOpenAICompatibleProvider {
|
|
51
|
+
readonly route: string = '/api/a-i/providers/adding/add-open-a-i-compatible-provider';
|
|
52
|
+
readonly validation: CommandValidator = new AddOpenAICompatibleProviderValidator();
|
|
53
|
+
readonly treatWarningsAsErrors: boolean = false;
|
|
54
|
+
readonly roles: string[] = [];
|
|
55
|
+
readonly propertyDescriptors: PropertyDescriptor[] = [
|
|
56
|
+
new PropertyDescriptor('apiKey', String, false),
|
|
57
|
+
new PropertyDescriptor('endpoint', String, false),
|
|
58
|
+
new PropertyDescriptor('maxConcurrentJobs', Number, false),
|
|
59
|
+
new PropertyDescriptor('name', String, false),
|
|
60
|
+
];
|
|
61
|
+
|
|
62
|
+
private _apiKey!: string;
|
|
63
|
+
private _endpoint!: string;
|
|
64
|
+
private _maxConcurrentJobs!: number;
|
|
65
|
+
private _name!: string;
|
|
66
|
+
|
|
67
|
+
constructor() {
|
|
68
|
+
super(Guid, false);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
get requestParameters(): string[] {
|
|
72
|
+
return [
|
|
73
|
+
];
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* The API key, when the endpoint requires one.
|
|
78
|
+
*/
|
|
79
|
+
get apiKey(): string {
|
|
80
|
+
return this._apiKey;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
set apiKey(value: string) {
|
|
84
|
+
this._apiKey = value;
|
|
85
|
+
this.propertyChanged('apiKey');
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* The endpoint to send chat-completions requests to.
|
|
89
|
+
*/
|
|
90
|
+
get endpoint(): string {
|
|
91
|
+
return this._endpoint;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
set endpoint(value: string) {
|
|
95
|
+
this._endpoint = value;
|
|
96
|
+
this.propertyChanged('endpoint');
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* How many worker sessions may run on it at once - zero for no limit.
|
|
100
|
+
*/
|
|
101
|
+
get maxConcurrentJobs(): number {
|
|
102
|
+
return this._maxConcurrentJobs;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
set maxConcurrentJobs(value: number) {
|
|
106
|
+
this._maxConcurrentJobs = value;
|
|
107
|
+
this.propertyChanged('maxConcurrentJobs');
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* The provider's display name.
|
|
111
|
+
*/
|
|
112
|
+
get name(): string {
|
|
113
|
+
return this._name;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
set name(value: string) {
|
|
117
|
+
this._name = value;
|
|
118
|
+
this.propertyChanged('name');
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
static use(initialValues?: IAddOpenAICompatibleProvider): [AddOpenAICompatibleProvider, SetCommandValues<IAddOpenAICompatibleProvider>, ClearCommandValues] {
|
|
122
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
123
|
+
// @ts-ignore
|
|
124
|
+
return useCommand<AddOpenAICompatibleProvider, IAddOpenAICompatibleProvider>(AddOpenAICompatibleProvider, initialValues);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
// @generated by Cratis. Source: Cratis.AI.Providers.Adding.AddOpenAIProvider. Time: 2026-09-15T16:31:09.9367206Z. Hash: 5B29A32955557EC709EC2FDFA77F01DDAA837E0D151A0FC999C712904AC771BF
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* **DO NOT EDIT** - This file is an automatically generated file.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
|
|
6
|
+
/* eslint-disable sort-imports */
|
|
7
|
+
/* eslint-disable @typescript-eslint/no-empty-interface */
|
|
8
|
+
// eslint-disable-next-line header/header
|
|
9
|
+
import { Command, CommandValidator } from '@cratis/arc/commands';
|
|
10
|
+
import { useCommand, SetCommandValues, ClearCommandValues } from '@cratis/arc.react/commands';
|
|
11
|
+
import { PropertyDescriptor } from '@cratis/arc/reflection';
|
|
12
|
+
import { Guid } from '@cratis/fundamentals';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Command for adding an OpenAI AI provider - a named API key against OpenAI's public API. Ported from Direct's `AIProviders.Adding.AddOpenAIProvider` (plan Section 5.2 step 4) - deliberately without Direct's own subscription-credential-kind classification event (`OpenAICredentialKind.EventFor`), which belongs to the not-yet-ported Codex/harness credential subsystem (plan Section 5.6). A ChatGPT subscription pasted here is still accepted - see {@link OpenAICredential} - it is simply not yet separately recorded as its own fact the way Direct's donor does.
|
|
16
|
+
*/
|
|
17
|
+
export interface IAddOpenAIProvider {
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The OpenAI API key.
|
|
21
|
+
*/
|
|
22
|
+
apiKey?: string;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* How many worker sessions may run on it at once - zero for no limit.
|
|
26
|
+
*/
|
|
27
|
+
maxConcurrentJobs?: number;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* The provider's display name.
|
|
31
|
+
*/
|
|
32
|
+
name?: string;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export class AddOpenAIProviderValidator extends CommandValidator<IAddOpenAIProvider> {
|
|
36
|
+
constructor() {
|
|
37
|
+
super();
|
|
38
|
+
this.ruleFor(c => c.maxConcurrentJobs).greaterThanOrEqual(0).withMessage('A concurrency limit cannot be negative - use zero for no limit');
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Command for adding an OpenAI AI provider - a named API key against OpenAI's public API. Ported from Direct's `AIProviders.Adding.AddOpenAIProvider` (plan Section 5.2 step 4) - deliberately without Direct's own subscription-credential-kind classification event (`OpenAICredentialKind.EventFor`), which belongs to the not-yet-ported Codex/harness credential subsystem (plan Section 5.6). A ChatGPT subscription pasted here is still accepted - see {@link OpenAICredential} - it is simply not yet separately recorded as its own fact the way Direct's donor does.
|
|
44
|
+
*/
|
|
45
|
+
export class AddOpenAIProvider extends Command<IAddOpenAIProvider, Guid> implements IAddOpenAIProvider {
|
|
46
|
+
readonly route: string = '/api/a-i/providers/adding/add-open-a-i-provider';
|
|
47
|
+
readonly validation: CommandValidator = new AddOpenAIProviderValidator();
|
|
48
|
+
readonly treatWarningsAsErrors: boolean = false;
|
|
49
|
+
readonly roles: string[] = [];
|
|
50
|
+
readonly propertyDescriptors: PropertyDescriptor[] = [
|
|
51
|
+
new PropertyDescriptor('apiKey', String, false),
|
|
52
|
+
new PropertyDescriptor('maxConcurrentJobs', Number, false),
|
|
53
|
+
new PropertyDescriptor('name', String, false),
|
|
54
|
+
];
|
|
55
|
+
|
|
56
|
+
private _apiKey!: string;
|
|
57
|
+
private _maxConcurrentJobs!: number;
|
|
58
|
+
private _name!: string;
|
|
59
|
+
|
|
60
|
+
constructor() {
|
|
61
|
+
super(Guid, false);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
get requestParameters(): string[] {
|
|
65
|
+
return [
|
|
66
|
+
];
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* The OpenAI API key.
|
|
71
|
+
*/
|
|
72
|
+
get apiKey(): string {
|
|
73
|
+
return this._apiKey;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
set apiKey(value: string) {
|
|
77
|
+
this._apiKey = value;
|
|
78
|
+
this.propertyChanged('apiKey');
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* How many worker sessions may run on it at once - zero for no limit.
|
|
82
|
+
*/
|
|
83
|
+
get maxConcurrentJobs(): number {
|
|
84
|
+
return this._maxConcurrentJobs;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
set maxConcurrentJobs(value: number) {
|
|
88
|
+
this._maxConcurrentJobs = value;
|
|
89
|
+
this.propertyChanged('maxConcurrentJobs');
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* The provider's display name.
|
|
93
|
+
*/
|
|
94
|
+
get name(): string {
|
|
95
|
+
return this._name;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
set name(value: string) {
|
|
99
|
+
this._name = value;
|
|
100
|
+
this.propertyChanged('name');
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
static use(initialValues?: IAddOpenAIProvider): [AddOpenAIProvider, SetCommandValues<IAddOpenAIProvider>, ClearCommandValues] {
|
|
104
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
105
|
+
// @ts-ignore
|
|
106
|
+
return useCommand<AddOpenAIProvider, IAddOpenAIProvider>(AddOpenAIProvider, initialValues);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
// @generated by Cratis. Source: Cratis.AI.Providers.Adding.AddZAIProvider. Time: 2026-09-15T16:31:09.9367206Z. Hash: 06FBD795E3651AF33623DBF53D1EA56073428F79FABA05A651CB734CF2C90E8D
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* **DO NOT EDIT** - This file is an automatically generated file.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
|
|
6
|
+
/* eslint-disable sort-imports */
|
|
7
|
+
/* eslint-disable @typescript-eslint/no-empty-interface */
|
|
8
|
+
// eslint-disable-next-line header/header
|
|
9
|
+
import { Command, CommandValidator } from '@cratis/arc/commands';
|
|
10
|
+
import { useCommand, SetCommandValues, ClearCommandValues } from '@cratis/arc.react/commands';
|
|
11
|
+
import { PropertyDescriptor } from '@cratis/arc/reflection';
|
|
12
|
+
import { Guid } from '@cratis/fundamentals';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Command for adding a Z.ai AI provider - a GLM account reached through Z.ai's Anthropic-compatible API at a configurable endpoint. Ported from Direct's `AIProviders.Adding.AddZAIProvider` (plan Section 5.2 step 4).
|
|
16
|
+
*/
|
|
17
|
+
export interface IAddZAIProvider {
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The Z.ai API key.
|
|
21
|
+
*/
|
|
22
|
+
apiKey?: string;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* The Z.ai endpoint - the base URL the Anthropic-compatible API sits under.
|
|
26
|
+
*/
|
|
27
|
+
endpoint?: string;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* How many worker sessions may run on it at once - zero for no limit.
|
|
31
|
+
*/
|
|
32
|
+
maxConcurrentJobs?: number;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* The provider's display name.
|
|
36
|
+
*/
|
|
37
|
+
name?: string;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export class AddZAIProviderValidator extends CommandValidator<IAddZAIProvider> {
|
|
41
|
+
constructor() {
|
|
42
|
+
super();
|
|
43
|
+
this.ruleFor(c => c.maxConcurrentJobs).greaterThanOrEqual(0).withMessage('A concurrency limit cannot be negative - use zero for no limit');
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Command for adding a Z.ai AI provider - a GLM account reached through Z.ai's Anthropic-compatible API at a configurable endpoint. Ported from Direct's `AIProviders.Adding.AddZAIProvider` (plan Section 5.2 step 4).
|
|
49
|
+
*/
|
|
50
|
+
export class AddZAIProvider extends Command<IAddZAIProvider, Guid> implements IAddZAIProvider {
|
|
51
|
+
readonly route: string = '/api/a-i/providers/adding/add-z-a-i-provider';
|
|
52
|
+
readonly validation: CommandValidator = new AddZAIProviderValidator();
|
|
53
|
+
readonly treatWarningsAsErrors: boolean = false;
|
|
54
|
+
readonly roles: string[] = [];
|
|
55
|
+
readonly propertyDescriptors: PropertyDescriptor[] = [
|
|
56
|
+
new PropertyDescriptor('apiKey', String, false),
|
|
57
|
+
new PropertyDescriptor('endpoint', String, false),
|
|
58
|
+
new PropertyDescriptor('maxConcurrentJobs', Number, false),
|
|
59
|
+
new PropertyDescriptor('name', String, false),
|
|
60
|
+
];
|
|
61
|
+
|
|
62
|
+
private _apiKey!: string;
|
|
63
|
+
private _endpoint!: string;
|
|
64
|
+
private _maxConcurrentJobs!: number;
|
|
65
|
+
private _name!: string;
|
|
66
|
+
|
|
67
|
+
constructor() {
|
|
68
|
+
super(Guid, false);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
get requestParameters(): string[] {
|
|
72
|
+
return [
|
|
73
|
+
];
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* The Z.ai API key.
|
|
78
|
+
*/
|
|
79
|
+
get apiKey(): string {
|
|
80
|
+
return this._apiKey;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
set apiKey(value: string) {
|
|
84
|
+
this._apiKey = value;
|
|
85
|
+
this.propertyChanged('apiKey');
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* The Z.ai endpoint - the base URL the Anthropic-compatible API sits under.
|
|
89
|
+
*/
|
|
90
|
+
get endpoint(): string {
|
|
91
|
+
return this._endpoint;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
set endpoint(value: string) {
|
|
95
|
+
this._endpoint = value;
|
|
96
|
+
this.propertyChanged('endpoint');
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* How many worker sessions may run on it at once - zero for no limit.
|
|
100
|
+
*/
|
|
101
|
+
get maxConcurrentJobs(): number {
|
|
102
|
+
return this._maxConcurrentJobs;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
set maxConcurrentJobs(value: number) {
|
|
106
|
+
this._maxConcurrentJobs = value;
|
|
107
|
+
this.propertyChanged('maxConcurrentJobs');
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* The provider's display name.
|
|
111
|
+
*/
|
|
112
|
+
get name(): string {
|
|
113
|
+
return this._name;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
set name(value: string) {
|
|
117
|
+
this._name = value;
|
|
118
|
+
this.propertyChanged('name');
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
static use(initialValues?: IAddZAIProvider): [AddZAIProvider, SetCommandValues<IAddZAIProvider>, ClearCommandValues] {
|
|
122
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
123
|
+
// @ts-ignore
|
|
124
|
+
return useCommand<AddZAIProvider, IAddZAIProvider>(AddZAIProvider, initialValues);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// @generated by Cratis. Source: Cratis.AI.Providers.Reconfiguring.AnthropicProviderReconfigured. Time: 2026-09-15T16:31:10.0313877Z. Hash: 73CECC02DBB40423998A0BDD0F3FAFB1527ECBA5CE07A0AED322CD59CA15CE53
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* **DO NOT EDIT** - This file is an automatically generated file.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
|
|
6
|
+
/* eslint-disable sort-imports */
|
|
7
|
+
// eslint-disable-next-line header/header
|
|
8
|
+
import { field } from '@cratis/fundamentals';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Event raised when an Anthropic provider's API key has been changed.
|
|
12
|
+
*/
|
|
13
|
+
export class AnthropicProviderReconfigured {
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* The new API key, protected at rest.
|
|
17
|
+
*/
|
|
18
|
+
@field(String)
|
|
19
|
+
apiKey!: string;
|
|
20
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// @generated by Cratis. Source: Cratis.AI.Providers.Reconfiguring.AzureOpenAIProviderReconfigured. Time: 2026-09-15T16:31:10.0313877Z. Hash: CB7159FA2C0109888077012805CA383A4E899FA1C67CE1B3048B7098B4C38F4D
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* **DO NOT EDIT** - This file is an automatically generated file.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
|
|
6
|
+
/* eslint-disable sort-imports */
|
|
7
|
+
// eslint-disable-next-line header/header
|
|
8
|
+
import { field } from '@cratis/fundamentals';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Event raised when an Azure OpenAI provider's endpoint and/or API key has been changed.
|
|
12
|
+
*/
|
|
13
|
+
export class AzureOpenAIProviderReconfigured {
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* The new endpoint.
|
|
17
|
+
*/
|
|
18
|
+
@field(String)
|
|
19
|
+
endpoint!: string;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The new API key, protected at rest.
|
|
23
|
+
*/
|
|
24
|
+
@field(String)
|
|
25
|
+
apiKey!: string;
|
|
26
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// @generated by Cratis. Source: Cratis.AI.Providers.Reconfiguring.OpenAICompatibleProviderReconfigured. Time: 2026-09-15T16:31:10.0313877Z. Hash: C23BDDBB03D3CABA174385AD8E251F66DEA39497B0FC98EC2EA643677450E39C
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* **DO NOT EDIT** - This file is an automatically generated file.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
|
|
6
|
+
/* eslint-disable sort-imports */
|
|
7
|
+
// eslint-disable-next-line header/header
|
|
8
|
+
import { field } from '@cratis/fundamentals';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Event raised when an OpenAI-compatible provider's endpoint and/or API key has been changed.
|
|
12
|
+
*/
|
|
13
|
+
export class OpenAICompatibleProviderReconfigured {
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* The new endpoint.
|
|
17
|
+
*/
|
|
18
|
+
@field(String)
|
|
19
|
+
endpoint!: string;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The new API key, protected at rest.
|
|
23
|
+
*/
|
|
24
|
+
@field(String)
|
|
25
|
+
apiKey!: string;
|
|
26
|
+
}
|