@cratis/ai 2.14.2 → 2.16.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/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 +14 -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 +19 -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/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.d.ts +2 -0
- package/dist/esm/generated/Usage/Daily/AgentUsageByDay.d.ts.map +1 -1
- package/dist/esm/generated/Usage/Daily/AgentUsageByDay.js +14 -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 +3 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +7 -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/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 +13 -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 +3 -0
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
// @generated by Cratis. Source: Cratis.AI.Harnesses.Harness. Time: 2026-09-
|
|
3
|
+
// @generated by Cratis. Source: Cratis.AI.Harnesses.Harness. Time: 2026-09-15T16:07:35.1519026Z. Hash: 998FE1093B65276DB88F2E4904A3A48FB362909D1A150190218015501F903174
|
|
4
4
|
/*---------------------------------------------------------------------------------------------
|
|
5
5
|
* **DO NOT EDIT** - This file is an automatically generated file.
|
|
6
6
|
*--------------------------------------------------------------------------------------------*/ // eslint-disable-next-line header/header
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Harness.js","sources":["../../../../generated/Harnesses/Harness.ts"],"sourcesContent":["// @generated by Cratis. Source: Cratis.AI.Harnesses.Harness. Time: 2026-09-
|
|
1
|
+
{"version":3,"file":"Harness.js","sources":["../../../../generated/Harnesses/Harness.ts"],"sourcesContent":["// @generated by Cratis. Source: Cratis.AI.Harnesses.Harness. Time: 2026-09-15T16:07:35.1519026Z. Hash: 998FE1093B65276DB88F2E4904A3A48FB362909D1A150190218015501F903174\n/*---------------------------------------------------------------------------------------------\n * **DO NOT EDIT** - This file is an automatically generated file.\n *--------------------------------------------------------------------------------------------*/\n\n// eslint-disable-next-line header/header\n/**\n * The CLI harness an agent session runs under when it is a job invocation, driving a coding agent inside a worker container - as opposed to a chat/conversation invocation, which talks to its AI provider directly and touches no harness. Ported from Direct's `Agents.Harness` (plan Section 5.6).\n */\nexport enum Harness {\n claude = 0,\n pi = 1,\n}\n"],"names":["Harness"],"mappings":";;AAAA;AACA;;AAE8F;AAG9F;;IAGO,IAAKA,OAAAA,iBAAAA,SAAAA,OAAAA,EAAAA;AACC,IAAA,OAAA,CAAA,OAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAA;AACJ,IAAA,OAAA,CAAA,OAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,GAAA,IAAA;AAFGA,IAAAA,OAAAA,OAAAA;AAGX,CAAA,CAAA,EAAA;;;;"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var commands = require('@cratis/arc/commands');
|
|
4
|
+
var commands$1 = require('@cratis/arc.react/commands');
|
|
5
|
+
var reflection = require('@cratis/arc/reflection');
|
|
6
|
+
var fundamentals = require('@cratis/fundamentals');
|
|
7
|
+
|
|
8
|
+
// @generated by Cratis. Source: Cratis.AI.Providers.Adding.AddAnthropicProvider. Time: 2026-09-15T16:07:34.9586641Z. Hash: 45C4374EF90677C9573682C70DC0914E035118CA581A3D6ED904A059A5DEF8D8
|
|
9
|
+
/*---------------------------------------------------------------------------------------------
|
|
10
|
+
* **DO NOT EDIT** - This file is an automatically generated file.
|
|
11
|
+
*--------------------------------------------------------------------------------------------*/ /* eslint-disable sort-imports */ /* eslint-disable @typescript-eslint/no-empty-interface */ // eslint-disable-next-line header/header
|
|
12
|
+
class AddAnthropicProviderValidator extends commands.CommandValidator {
|
|
13
|
+
constructor(){
|
|
14
|
+
super();
|
|
15
|
+
this.ruleFor((c)=>c.maxConcurrentJobs).greaterThanOrEqual(0).withMessage('A concurrency limit cannot be negative - use zero for no limit');
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* 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`.
|
|
20
|
+
*/ class AddAnthropicProvider extends commands.Command {
|
|
21
|
+
route = '/api/a-i/providers/adding/add-anthropic-provider';
|
|
22
|
+
validation = new AddAnthropicProviderValidator();
|
|
23
|
+
treatWarningsAsErrors = false;
|
|
24
|
+
roles = [];
|
|
25
|
+
propertyDescriptors = [
|
|
26
|
+
new reflection.PropertyDescriptor('apiKey', String, false),
|
|
27
|
+
new reflection.PropertyDescriptor('maxConcurrentJobs', Number, false),
|
|
28
|
+
new reflection.PropertyDescriptor('name', String, false)
|
|
29
|
+
];
|
|
30
|
+
_apiKey;
|
|
31
|
+
_maxConcurrentJobs;
|
|
32
|
+
_name;
|
|
33
|
+
constructor(){
|
|
34
|
+
super(fundamentals.Guid, false);
|
|
35
|
+
}
|
|
36
|
+
get requestParameters() {
|
|
37
|
+
return [];
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The Anthropic API key.
|
|
41
|
+
*/ get apiKey() {
|
|
42
|
+
return this._apiKey;
|
|
43
|
+
}
|
|
44
|
+
set apiKey(value) {
|
|
45
|
+
this._apiKey = value;
|
|
46
|
+
this.propertyChanged('apiKey');
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* How many worker sessions may run on it at once - zero for no limit.
|
|
50
|
+
*/ get maxConcurrentJobs() {
|
|
51
|
+
return this._maxConcurrentJobs;
|
|
52
|
+
}
|
|
53
|
+
set maxConcurrentJobs(value) {
|
|
54
|
+
this._maxConcurrentJobs = value;
|
|
55
|
+
this.propertyChanged('maxConcurrentJobs');
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* The provider's display name.
|
|
59
|
+
*/ get name() {
|
|
60
|
+
return this._name;
|
|
61
|
+
}
|
|
62
|
+
set name(value) {
|
|
63
|
+
this._name = value;
|
|
64
|
+
this.propertyChanged('name');
|
|
65
|
+
}
|
|
66
|
+
static use(initialValues) {
|
|
67
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
68
|
+
// @ts-ignore
|
|
69
|
+
return commands$1.useCommand(AddAnthropicProvider, initialValues);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
exports.AddAnthropicProvider = AddAnthropicProvider;
|
|
74
|
+
exports.AddAnthropicProviderValidator = AddAnthropicProviderValidator;
|
|
75
|
+
//# sourceMappingURL=AddAnthropicProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddAnthropicProvider.js","sources":["../../../../../generated/Providers/Adding/AddAnthropicProvider.ts"],"sourcesContent":["// @generated by Cratis. Source: Cratis.AI.Providers.Adding.AddAnthropicProvider. Time: 2026-09-15T16:07:34.9586641Z. Hash: 45C4374EF90677C9573682C70DC0914E035118CA581A3D6ED904A059A5DEF8D8\n/*---------------------------------------------------------------------------------------------\n * **DO NOT EDIT** - This file is an automatically generated file.\n *--------------------------------------------------------------------------------------------*/\n\n/* eslint-disable sort-imports */\n/* eslint-disable @typescript-eslint/no-empty-interface */\n// eslint-disable-next-line header/header\nimport { Command, CommandValidator } from '@cratis/arc/commands';\nimport { useCommand, SetCommandValues, ClearCommandValues } from '@cratis/arc.react/commands';\nimport { PropertyDescriptor } from '@cratis/arc/reflection';\nimport { Guid } from '@cratis/fundamentals';\n\n/**\n * 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`.\n */\nexport interface IAddAnthropicProvider {\n \n /**\n * The Anthropic API key.\n */\n apiKey?: string;\n \n /**\n * How many worker sessions may run on it at once - zero for no limit.\n */\n maxConcurrentJobs?: number;\n \n /**\n * The provider's display name.\n */\n name?: string;\n}\n\nexport class AddAnthropicProviderValidator extends CommandValidator<IAddAnthropicProvider> {\n constructor() {\n super();\n this.ruleFor(c => c.maxConcurrentJobs).greaterThanOrEqual(0).withMessage('A concurrency limit cannot be negative - use zero for no limit');\n }\n}\n\n/**\n * 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`.\n */\nexport class AddAnthropicProvider extends Command<IAddAnthropicProvider, Guid> implements IAddAnthropicProvider {\n readonly route: string = '/api/a-i/providers/adding/add-anthropic-provider';\n readonly validation: CommandValidator = new AddAnthropicProviderValidator();\n readonly treatWarningsAsErrors: boolean = false;\n readonly roles: string[] = [];\n readonly propertyDescriptors: PropertyDescriptor[] = [\n new PropertyDescriptor('apiKey', String, false),\n new PropertyDescriptor('maxConcurrentJobs', Number, false),\n new PropertyDescriptor('name', String, false),\n ];\n\n private _apiKey!: string;\n private _maxConcurrentJobs!: number;\n private _name!: string;\n\n constructor() {\n super(Guid, false);\n }\n\n get requestParameters(): string[] {\n return [\n ];\n }\n\n /**\n * The Anthropic API key.\n */\n get apiKey(): string {\n return this._apiKey;\n }\n\n set apiKey(value: string) {\n this._apiKey = value;\n this.propertyChanged('apiKey');\n }\n /**\n * How many worker sessions may run on it at once - zero for no limit.\n */\n get maxConcurrentJobs(): number {\n return this._maxConcurrentJobs;\n }\n\n set maxConcurrentJobs(value: number) {\n this._maxConcurrentJobs = value;\n this.propertyChanged('maxConcurrentJobs');\n }\n /**\n * The provider's display name.\n */\n get name(): string {\n return this._name;\n }\n\n set name(value: string) {\n this._name = value;\n this.propertyChanged('name');\n }\n\n static use(initialValues?: IAddAnthropicProvider): [AddAnthropicProvider, SetCommandValues<IAddAnthropicProvider>, ClearCommandValues] {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return useCommand<AddAnthropicProvider, IAddAnthropicProvider>(AddAnthropicProvider, initialValues);\n }\n}\n"],"names":["AddAnthropicProviderValidator","CommandValidator","ruleFor","c","maxConcurrentJobs","greaterThanOrEqual","withMessage","AddAnthropicProvider","Command","route","validation","treatWarningsAsErrors","roles","propertyDescriptors","PropertyDescriptor","String","Number","_apiKey","_maxConcurrentJobs","_name","Guid","requestParameters","apiKey","value","propertyChanged","name","use","initialValues","useCommand"],"mappings":";;;;;;;AAAA;AACA;;AAE8F;AA+BvF,MAAMA,6BAAAA,SAAsCC,yBAAAA,CAAAA;IAC/C,WAAA,EAAc;QACV,KAAK,EAAA;AACL,QAAA,IAAI,CAACC,OAAO,CAACC,CAAAA,CAAAA,GAAKA,CAAAA,CAAEC,iBAAiB,CAAA,CAAEC,kBAAkB,CAAC,CAAA,CAAA,CAAGC,WAAW,CAAC,gEAAA,CAAA;AAC7E,IAAA;AACJ;AAEA;;IAGO,MAAMC,oBAAAA,SAA6BC,gBAAAA,CAAAA;AAC7BC,IAAAA,KAAAA,GAAgB,kDAAA;AAChBC,IAAAA,UAAAA,GAA+B,IAAIV,6BAAAA,EAAAA;AACnCW,IAAAA,qBAAAA,GAAiC,KAAA;AACjCC,IAAAA,KAAAA,GAAkB,EAAE;IACpBC,mBAAAA,GAA4C;QACjD,IAAIC,6BAAAA,CAAmB,UAAUC,MAAAA,EAAQ,KAAA,CAAA;QACzC,IAAID,6BAAAA,CAAmB,qBAAqBE,MAAAA,EAAQ,KAAA,CAAA;QACpD,IAAIF,6BAAAA,CAAmB,QAAQC,MAAAA,EAAQ,KAAA;KAC1C;IAEOE,OAAAA;IACAC,kBAAAA;IACAC,KAAAA;IAER,WAAA,EAAc;AACV,QAAA,KAAK,CAACC,iBAAAA,EAAM,KAAA,CAAA;AAChB,IAAA;AAEA,IAAA,IAAIC,iBAAAA,GAA8B;AAC9B,QAAA,OAAO,EACN;AACL,IAAA;AAEA;;AAEC,QACD,IAAIC,MAAAA,GAAiB;QACjB,OAAO,IAAI,CAACL,OAAO;AACvB,IAAA;IAEA,IAAIK,MAAAA,CAAOC,KAAa,EAAE;QACtB,IAAI,CAACN,OAAO,GAAGM,KAAAA;QACf,IAAI,CAACC,eAAe,CAAC,QAAA,CAAA;AACzB,IAAA;AACA;;AAEC,QACD,IAAIpB,iBAAAA,GAA4B;QAC5B,OAAO,IAAI,CAACc,kBAAkB;AAClC,IAAA;IAEA,IAAId,iBAAAA,CAAkBmB,KAAa,EAAE;QACjC,IAAI,CAACL,kBAAkB,GAAGK,KAAAA;QAC1B,IAAI,CAACC,eAAe,CAAC,mBAAA,CAAA;AACzB,IAAA;AACA;;AAEC,QACD,IAAIC,IAAAA,GAAe;QACf,OAAO,IAAI,CAACN,KAAK;AACrB,IAAA;IAEA,IAAIM,IAAAA,CAAKF,KAAa,EAAE;QACpB,IAAI,CAACJ,KAAK,GAAGI,KAAAA;QACb,IAAI,CAACC,eAAe,CAAC,MAAA,CAAA;AACzB,IAAA;IAEA,OAAOE,GAAAA,CAAIC,aAAqC,EAAuF;;;AAGnI,QAAA,OAAOC,sBAAwDrB,oBAAAA,EAAsBoB,aAAAA,CAAAA;AACzF,IAAA;AACJ;;;;;"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var commands = require('@cratis/arc/commands');
|
|
4
|
+
var commands$1 = require('@cratis/arc.react/commands');
|
|
5
|
+
var reflection = require('@cratis/arc/reflection');
|
|
6
|
+
var fundamentals = require('@cratis/fundamentals');
|
|
7
|
+
|
|
8
|
+
// @generated by Cratis. Source: Cratis.AI.Providers.Adding.AddAzureOpenAIProvider. Time: 2026-09-15T16:07:34.9586641Z. Hash: A27E326198BFC90872E61300D2494450CE3FB921477188F0EFD0368813387A8C
|
|
9
|
+
/*---------------------------------------------------------------------------------------------
|
|
10
|
+
* **DO NOT EDIT** - This file is an automatically generated file.
|
|
11
|
+
*--------------------------------------------------------------------------------------------*/ /* eslint-disable sort-imports */ /* eslint-disable @typescript-eslint/no-empty-interface */ // eslint-disable-next-line header/header
|
|
12
|
+
class AddAzureOpenAIProviderValidator extends commands.CommandValidator {
|
|
13
|
+
constructor(){
|
|
14
|
+
super();
|
|
15
|
+
this.ruleFor((c)=>c.maxConcurrentJobs).greaterThanOrEqual(0).withMessage('A concurrency limit cannot be negative - use zero for no limit');
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* 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).
|
|
20
|
+
*/ class AddAzureOpenAIProvider extends commands.Command {
|
|
21
|
+
route = '/api/a-i/providers/adding/add-azure-open-a-i-provider';
|
|
22
|
+
validation = new AddAzureOpenAIProviderValidator();
|
|
23
|
+
treatWarningsAsErrors = false;
|
|
24
|
+
roles = [];
|
|
25
|
+
propertyDescriptors = [
|
|
26
|
+
new reflection.PropertyDescriptor('apiKey', String, false),
|
|
27
|
+
new reflection.PropertyDescriptor('endpoint', String, false),
|
|
28
|
+
new reflection.PropertyDescriptor('maxConcurrentJobs', Number, false),
|
|
29
|
+
new reflection.PropertyDescriptor('name', String, false)
|
|
30
|
+
];
|
|
31
|
+
_apiKey;
|
|
32
|
+
_endpoint;
|
|
33
|
+
_maxConcurrentJobs;
|
|
34
|
+
_name;
|
|
35
|
+
constructor(){
|
|
36
|
+
super(fundamentals.Guid, false);
|
|
37
|
+
}
|
|
38
|
+
get requestParameters() {
|
|
39
|
+
return [];
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* The Azure OpenAI API key.
|
|
43
|
+
*/ get apiKey() {
|
|
44
|
+
return this._apiKey;
|
|
45
|
+
}
|
|
46
|
+
set apiKey(value) {
|
|
47
|
+
this._apiKey = value;
|
|
48
|
+
this.propertyChanged('apiKey');
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* The Azure OpenAI resource endpoint.
|
|
52
|
+
*/ get endpoint() {
|
|
53
|
+
return this._endpoint;
|
|
54
|
+
}
|
|
55
|
+
set endpoint(value) {
|
|
56
|
+
this._endpoint = value;
|
|
57
|
+
this.propertyChanged('endpoint');
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* How many worker sessions may run on it at once - zero for no limit.
|
|
61
|
+
*/ get maxConcurrentJobs() {
|
|
62
|
+
return this._maxConcurrentJobs;
|
|
63
|
+
}
|
|
64
|
+
set maxConcurrentJobs(value) {
|
|
65
|
+
this._maxConcurrentJobs = value;
|
|
66
|
+
this.propertyChanged('maxConcurrentJobs');
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* The provider's display name.
|
|
70
|
+
*/ get name() {
|
|
71
|
+
return this._name;
|
|
72
|
+
}
|
|
73
|
+
set name(value) {
|
|
74
|
+
this._name = value;
|
|
75
|
+
this.propertyChanged('name');
|
|
76
|
+
}
|
|
77
|
+
static use(initialValues) {
|
|
78
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
79
|
+
// @ts-ignore
|
|
80
|
+
return commands$1.useCommand(AddAzureOpenAIProvider, initialValues);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
exports.AddAzureOpenAIProvider = AddAzureOpenAIProvider;
|
|
85
|
+
exports.AddAzureOpenAIProviderValidator = AddAzureOpenAIProviderValidator;
|
|
86
|
+
//# sourceMappingURL=AddAzureOpenAIProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddAzureOpenAIProvider.js","sources":["../../../../../generated/Providers/Adding/AddAzureOpenAIProvider.ts"],"sourcesContent":["// @generated by Cratis. Source: Cratis.AI.Providers.Adding.AddAzureOpenAIProvider. Time: 2026-09-15T16:07:34.9586641Z. Hash: A27E326198BFC90872E61300D2494450CE3FB921477188F0EFD0368813387A8C\n/*---------------------------------------------------------------------------------------------\n * **DO NOT EDIT** - This file is an automatically generated file.\n *--------------------------------------------------------------------------------------------*/\n\n/* eslint-disable sort-imports */\n/* eslint-disable @typescript-eslint/no-empty-interface */\n// eslint-disable-next-line header/header\nimport { Command, CommandValidator } from '@cratis/arc/commands';\nimport { useCommand, SetCommandValues, ClearCommandValues } from '@cratis/arc.react/commands';\nimport { PropertyDescriptor } from '@cratis/arc/reflection';\nimport { Guid } from '@cratis/fundamentals';\n\n/**\n * 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).\n */\nexport interface IAddAzureOpenAIProvider {\n \n /**\n * The Azure OpenAI API key.\n */\n apiKey?: string;\n \n /**\n * The Azure OpenAI resource endpoint.\n */\n endpoint?: string;\n \n /**\n * How many worker sessions may run on it at once - zero for no limit.\n */\n maxConcurrentJobs?: number;\n \n /**\n * The provider's display name.\n */\n name?: string;\n}\n\nexport class AddAzureOpenAIProviderValidator extends CommandValidator<IAddAzureOpenAIProvider> {\n constructor() {\n super();\n this.ruleFor(c => c.maxConcurrentJobs).greaterThanOrEqual(0).withMessage('A concurrency limit cannot be negative - use zero for no limit');\n }\n}\n\n/**\n * 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).\n */\nexport class AddAzureOpenAIProvider extends Command<IAddAzureOpenAIProvider, Guid> implements IAddAzureOpenAIProvider {\n readonly route: string = '/api/a-i/providers/adding/add-azure-open-a-i-provider';\n readonly validation: CommandValidator = new AddAzureOpenAIProviderValidator();\n readonly treatWarningsAsErrors: boolean = false;\n readonly roles: string[] = [];\n readonly propertyDescriptors: PropertyDescriptor[] = [\n new PropertyDescriptor('apiKey', String, false),\n new PropertyDescriptor('endpoint', String, false),\n new PropertyDescriptor('maxConcurrentJobs', Number, false),\n new PropertyDescriptor('name', String, false),\n ];\n\n private _apiKey!: string;\n private _endpoint!: string;\n private _maxConcurrentJobs!: number;\n private _name!: string;\n\n constructor() {\n super(Guid, false);\n }\n\n get requestParameters(): string[] {\n return [\n ];\n }\n\n /**\n * The Azure OpenAI API key.\n */\n get apiKey(): string {\n return this._apiKey;\n }\n\n set apiKey(value: string) {\n this._apiKey = value;\n this.propertyChanged('apiKey');\n }\n /**\n * The Azure OpenAI resource endpoint.\n */\n get endpoint(): string {\n return this._endpoint;\n }\n\n set endpoint(value: string) {\n this._endpoint = value;\n this.propertyChanged('endpoint');\n }\n /**\n * How many worker sessions may run on it at once - zero for no limit.\n */\n get maxConcurrentJobs(): number {\n return this._maxConcurrentJobs;\n }\n\n set maxConcurrentJobs(value: number) {\n this._maxConcurrentJobs = value;\n this.propertyChanged('maxConcurrentJobs');\n }\n /**\n * The provider's display name.\n */\n get name(): string {\n return this._name;\n }\n\n set name(value: string) {\n this._name = value;\n this.propertyChanged('name');\n }\n\n static use(initialValues?: IAddAzureOpenAIProvider): [AddAzureOpenAIProvider, SetCommandValues<IAddAzureOpenAIProvider>, ClearCommandValues] {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return useCommand<AddAzureOpenAIProvider, IAddAzureOpenAIProvider>(AddAzureOpenAIProvider, initialValues);\n }\n}\n"],"names":["AddAzureOpenAIProviderValidator","CommandValidator","ruleFor","c","maxConcurrentJobs","greaterThanOrEqual","withMessage","AddAzureOpenAIProvider","Command","route","validation","treatWarningsAsErrors","roles","propertyDescriptors","PropertyDescriptor","String","Number","_apiKey","_endpoint","_maxConcurrentJobs","_name","Guid","requestParameters","apiKey","value","propertyChanged","endpoint","name","use","initialValues","useCommand"],"mappings":";;;;;;;AAAA;AACA;;AAE8F;AAoCvF,MAAMA,+BAAAA,SAAwCC,yBAAAA,CAAAA;IACjD,WAAA,EAAc;QACV,KAAK,EAAA;AACL,QAAA,IAAI,CAACC,OAAO,CAACC,CAAAA,CAAAA,GAAKA,CAAAA,CAAEC,iBAAiB,CAAA,CAAEC,kBAAkB,CAAC,CAAA,CAAA,CAAGC,WAAW,CAAC,gEAAA,CAAA;AAC7E,IAAA;AACJ;AAEA;;IAGO,MAAMC,sBAAAA,SAA+BC,gBAAAA,CAAAA;AAC/BC,IAAAA,KAAAA,GAAgB,uDAAA;AAChBC,IAAAA,UAAAA,GAA+B,IAAIV,+BAAAA,EAAAA;AACnCW,IAAAA,qBAAAA,GAAiC,KAAA;AACjCC,IAAAA,KAAAA,GAAkB,EAAE;IACpBC,mBAAAA,GAA4C;QACjD,IAAIC,6BAAAA,CAAmB,UAAUC,MAAAA,EAAQ,KAAA,CAAA;QACzC,IAAID,6BAAAA,CAAmB,YAAYC,MAAAA,EAAQ,KAAA,CAAA;QAC3C,IAAID,6BAAAA,CAAmB,qBAAqBE,MAAAA,EAAQ,KAAA,CAAA;QACpD,IAAIF,6BAAAA,CAAmB,QAAQC,MAAAA,EAAQ,KAAA;KAC1C;IAEOE,OAAAA;IACAC,SAAAA;IACAC,kBAAAA;IACAC,KAAAA;IAER,WAAA,EAAc;AACV,QAAA,KAAK,CAACC,iBAAAA,EAAM,KAAA,CAAA;AAChB,IAAA;AAEA,IAAA,IAAIC,iBAAAA,GAA8B;AAC9B,QAAA,OAAO,EACN;AACL,IAAA;AAEA;;AAEC,QACD,IAAIC,MAAAA,GAAiB;QACjB,OAAO,IAAI,CAACN,OAAO;AACvB,IAAA;IAEA,IAAIM,MAAAA,CAAOC,KAAa,EAAE;QACtB,IAAI,CAACP,OAAO,GAAGO,KAAAA;QACf,IAAI,CAACC,eAAe,CAAC,QAAA,CAAA;AACzB,IAAA;AACA;;AAEC,QACD,IAAIC,QAAAA,GAAmB;QACnB,OAAO,IAAI,CAACR,SAAS;AACzB,IAAA;IAEA,IAAIQ,QAAAA,CAASF,KAAa,EAAE;QACxB,IAAI,CAACN,SAAS,GAAGM,KAAAA;QACjB,IAAI,CAACC,eAAe,CAAC,UAAA,CAAA;AACzB,IAAA;AACA;;AAEC,QACD,IAAIrB,iBAAAA,GAA4B;QAC5B,OAAO,IAAI,CAACe,kBAAkB;AAClC,IAAA;IAEA,IAAIf,iBAAAA,CAAkBoB,KAAa,EAAE;QACjC,IAAI,CAACL,kBAAkB,GAAGK,KAAAA;QAC1B,IAAI,CAACC,eAAe,CAAC,mBAAA,CAAA;AACzB,IAAA;AACA;;AAEC,QACD,IAAIE,IAAAA,GAAe;QACf,OAAO,IAAI,CAACP,KAAK;AACrB,IAAA;IAEA,IAAIO,IAAAA,CAAKH,KAAa,EAAE;QACpB,IAAI,CAACJ,KAAK,GAAGI,KAAAA;QACb,IAAI,CAACC,eAAe,CAAC,MAAA,CAAA;AACzB,IAAA;IAEA,OAAOG,GAAAA,CAAIC,aAAuC,EAA2F;;;AAGzI,QAAA,OAAOC,sBAA4DvB,sBAAAA,EAAwBsB,aAAAA,CAAAA;AAC/F,IAAA;AACJ;;;;;"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var commands = require('@cratis/arc/commands');
|
|
4
|
+
var commands$1 = require('@cratis/arc.react/commands');
|
|
5
|
+
var reflection = require('@cratis/arc/reflection');
|
|
6
|
+
var fundamentals = require('@cratis/fundamentals');
|
|
7
|
+
|
|
8
|
+
// @generated by Cratis. Source: Cratis.AI.Providers.Adding.AddOpenAICompatibleProvider. Time: 2026-09-15T16:07:34.9586641Z. Hash: D971DCDC59215AA87BDC6CBB0505C8847C16E4748EC20FD0F46AAE473EF20B8C
|
|
9
|
+
/*---------------------------------------------------------------------------------------------
|
|
10
|
+
* **DO NOT EDIT** - This file is an automatically generated file.
|
|
11
|
+
*--------------------------------------------------------------------------------------------*/ /* eslint-disable sort-imports */ /* eslint-disable @typescript-eslint/no-empty-interface */ // eslint-disable-next-line header/header
|
|
12
|
+
class AddOpenAICompatibleProviderValidator extends commands.CommandValidator {
|
|
13
|
+
constructor(){
|
|
14
|
+
super();
|
|
15
|
+
this.ruleFor((c)=>c.maxConcurrentJobs).greaterThanOrEqual(0).withMessage('A concurrency limit cannot be negative - use zero for no limit');
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* 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).
|
|
20
|
+
*/ class AddOpenAICompatibleProvider extends commands.Command {
|
|
21
|
+
route = '/api/a-i/providers/adding/add-open-a-i-compatible-provider';
|
|
22
|
+
validation = new AddOpenAICompatibleProviderValidator();
|
|
23
|
+
treatWarningsAsErrors = false;
|
|
24
|
+
roles = [];
|
|
25
|
+
propertyDescriptors = [
|
|
26
|
+
new reflection.PropertyDescriptor('apiKey', String, false),
|
|
27
|
+
new reflection.PropertyDescriptor('endpoint', String, false),
|
|
28
|
+
new reflection.PropertyDescriptor('maxConcurrentJobs', Number, false),
|
|
29
|
+
new reflection.PropertyDescriptor('name', String, false)
|
|
30
|
+
];
|
|
31
|
+
_apiKey;
|
|
32
|
+
_endpoint;
|
|
33
|
+
_maxConcurrentJobs;
|
|
34
|
+
_name;
|
|
35
|
+
constructor(){
|
|
36
|
+
super(fundamentals.Guid, false);
|
|
37
|
+
}
|
|
38
|
+
get requestParameters() {
|
|
39
|
+
return [];
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* The API key, when the endpoint requires one.
|
|
43
|
+
*/ get apiKey() {
|
|
44
|
+
return this._apiKey;
|
|
45
|
+
}
|
|
46
|
+
set apiKey(value) {
|
|
47
|
+
this._apiKey = value;
|
|
48
|
+
this.propertyChanged('apiKey');
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* The endpoint to send chat-completions requests to.
|
|
52
|
+
*/ get endpoint() {
|
|
53
|
+
return this._endpoint;
|
|
54
|
+
}
|
|
55
|
+
set endpoint(value) {
|
|
56
|
+
this._endpoint = value;
|
|
57
|
+
this.propertyChanged('endpoint');
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* How many worker sessions may run on it at once - zero for no limit.
|
|
61
|
+
*/ get maxConcurrentJobs() {
|
|
62
|
+
return this._maxConcurrentJobs;
|
|
63
|
+
}
|
|
64
|
+
set maxConcurrentJobs(value) {
|
|
65
|
+
this._maxConcurrentJobs = value;
|
|
66
|
+
this.propertyChanged('maxConcurrentJobs');
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* The provider's display name.
|
|
70
|
+
*/ get name() {
|
|
71
|
+
return this._name;
|
|
72
|
+
}
|
|
73
|
+
set name(value) {
|
|
74
|
+
this._name = value;
|
|
75
|
+
this.propertyChanged('name');
|
|
76
|
+
}
|
|
77
|
+
static use(initialValues) {
|
|
78
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
79
|
+
// @ts-ignore
|
|
80
|
+
return commands$1.useCommand(AddOpenAICompatibleProvider, initialValues);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
exports.AddOpenAICompatibleProvider = AddOpenAICompatibleProvider;
|
|
85
|
+
exports.AddOpenAICompatibleProviderValidator = AddOpenAICompatibleProviderValidator;
|
|
86
|
+
//# sourceMappingURL=AddOpenAICompatibleProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddOpenAICompatibleProvider.js","sources":["../../../../../generated/Providers/Adding/AddOpenAICompatibleProvider.ts"],"sourcesContent":["// @generated by Cratis. Source: Cratis.AI.Providers.Adding.AddOpenAICompatibleProvider. Time: 2026-09-15T16:07:34.9586641Z. Hash: D971DCDC59215AA87BDC6CBB0505C8847C16E4748EC20FD0F46AAE473EF20B8C\n/*---------------------------------------------------------------------------------------------\n * **DO NOT EDIT** - This file is an automatically generated file.\n *--------------------------------------------------------------------------------------------*/\n\n/* eslint-disable sort-imports */\n/* eslint-disable @typescript-eslint/no-empty-interface */\n// eslint-disable-next-line header/header\nimport { Command, CommandValidator } from '@cratis/arc/commands';\nimport { useCommand, SetCommandValues, ClearCommandValues } from '@cratis/arc.react/commands';\nimport { PropertyDescriptor } from '@cratis/arc/reflection';\nimport { Guid } from '@cratis/fundamentals';\n\n/**\n * 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).\n */\nexport interface IAddOpenAICompatibleProvider {\n \n /**\n * The API key, when the endpoint requires one.\n */\n apiKey?: string;\n \n /**\n * The endpoint to send chat-completions requests to.\n */\n endpoint?: string;\n \n /**\n * How many worker sessions may run on it at once - zero for no limit.\n */\n maxConcurrentJobs?: number;\n \n /**\n * The provider's display name.\n */\n name?: string;\n}\n\nexport class AddOpenAICompatibleProviderValidator extends CommandValidator<IAddOpenAICompatibleProvider> {\n constructor() {\n super();\n this.ruleFor(c => c.maxConcurrentJobs).greaterThanOrEqual(0).withMessage('A concurrency limit cannot be negative - use zero for no limit');\n }\n}\n\n/**\n * 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).\n */\nexport class AddOpenAICompatibleProvider extends Command<IAddOpenAICompatibleProvider, Guid> implements IAddOpenAICompatibleProvider {\n readonly route: string = '/api/a-i/providers/adding/add-open-a-i-compatible-provider';\n readonly validation: CommandValidator = new AddOpenAICompatibleProviderValidator();\n readonly treatWarningsAsErrors: boolean = false;\n readonly roles: string[] = [];\n readonly propertyDescriptors: PropertyDescriptor[] = [\n new PropertyDescriptor('apiKey', String, false),\n new PropertyDescriptor('endpoint', String, false),\n new PropertyDescriptor('maxConcurrentJobs', Number, false),\n new PropertyDescriptor('name', String, false),\n ];\n\n private _apiKey!: string;\n private _endpoint!: string;\n private _maxConcurrentJobs!: number;\n private _name!: string;\n\n constructor() {\n super(Guid, false);\n }\n\n get requestParameters(): string[] {\n return [\n ];\n }\n\n /**\n * The API key, when the endpoint requires one.\n */\n get apiKey(): string {\n return this._apiKey;\n }\n\n set apiKey(value: string) {\n this._apiKey = value;\n this.propertyChanged('apiKey');\n }\n /**\n * The endpoint to send chat-completions requests to.\n */\n get endpoint(): string {\n return this._endpoint;\n }\n\n set endpoint(value: string) {\n this._endpoint = value;\n this.propertyChanged('endpoint');\n }\n /**\n * How many worker sessions may run on it at once - zero for no limit.\n */\n get maxConcurrentJobs(): number {\n return this._maxConcurrentJobs;\n }\n\n set maxConcurrentJobs(value: number) {\n this._maxConcurrentJobs = value;\n this.propertyChanged('maxConcurrentJobs');\n }\n /**\n * The provider's display name.\n */\n get name(): string {\n return this._name;\n }\n\n set name(value: string) {\n this._name = value;\n this.propertyChanged('name');\n }\n\n static use(initialValues?: IAddOpenAICompatibleProvider): [AddOpenAICompatibleProvider, SetCommandValues<IAddOpenAICompatibleProvider>, ClearCommandValues] {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return useCommand<AddOpenAICompatibleProvider, IAddOpenAICompatibleProvider>(AddOpenAICompatibleProvider, initialValues);\n }\n}\n"],"names":["AddOpenAICompatibleProviderValidator","CommandValidator","ruleFor","c","maxConcurrentJobs","greaterThanOrEqual","withMessage","AddOpenAICompatibleProvider","Command","route","validation","treatWarningsAsErrors","roles","propertyDescriptors","PropertyDescriptor","String","Number","_apiKey","_endpoint","_maxConcurrentJobs","_name","Guid","requestParameters","apiKey","value","propertyChanged","endpoint","name","use","initialValues","useCommand"],"mappings":";;;;;;;AAAA;AACA;;AAE8F;AAoCvF,MAAMA,oCAAAA,SAA6CC,yBAAAA,CAAAA;IACtD,WAAA,EAAc;QACV,KAAK,EAAA;AACL,QAAA,IAAI,CAACC,OAAO,CAACC,CAAAA,CAAAA,GAAKA,CAAAA,CAAEC,iBAAiB,CAAA,CAAEC,kBAAkB,CAAC,CAAA,CAAA,CAAGC,WAAW,CAAC,gEAAA,CAAA;AAC7E,IAAA;AACJ;AAEA;;IAGO,MAAMC,2BAAAA,SAAoCC,gBAAAA,CAAAA;AACpCC,IAAAA,KAAAA,GAAgB,4DAAA;AAChBC,IAAAA,UAAAA,GAA+B,IAAIV,oCAAAA,EAAAA;AACnCW,IAAAA,qBAAAA,GAAiC,KAAA;AACjCC,IAAAA,KAAAA,GAAkB,EAAE;IACpBC,mBAAAA,GAA4C;QACjD,IAAIC,6BAAAA,CAAmB,UAAUC,MAAAA,EAAQ,KAAA,CAAA;QACzC,IAAID,6BAAAA,CAAmB,YAAYC,MAAAA,EAAQ,KAAA,CAAA;QAC3C,IAAID,6BAAAA,CAAmB,qBAAqBE,MAAAA,EAAQ,KAAA,CAAA;QACpD,IAAIF,6BAAAA,CAAmB,QAAQC,MAAAA,EAAQ,KAAA;KAC1C;IAEOE,OAAAA;IACAC,SAAAA;IACAC,kBAAAA;IACAC,KAAAA;IAER,WAAA,EAAc;AACV,QAAA,KAAK,CAACC,iBAAAA,EAAM,KAAA,CAAA;AAChB,IAAA;AAEA,IAAA,IAAIC,iBAAAA,GAA8B;AAC9B,QAAA,OAAO,EACN;AACL,IAAA;AAEA;;AAEC,QACD,IAAIC,MAAAA,GAAiB;QACjB,OAAO,IAAI,CAACN,OAAO;AACvB,IAAA;IAEA,IAAIM,MAAAA,CAAOC,KAAa,EAAE;QACtB,IAAI,CAACP,OAAO,GAAGO,KAAAA;QACf,IAAI,CAACC,eAAe,CAAC,QAAA,CAAA;AACzB,IAAA;AACA;;AAEC,QACD,IAAIC,QAAAA,GAAmB;QACnB,OAAO,IAAI,CAACR,SAAS;AACzB,IAAA;IAEA,IAAIQ,QAAAA,CAASF,KAAa,EAAE;QACxB,IAAI,CAACN,SAAS,GAAGM,KAAAA;QACjB,IAAI,CAACC,eAAe,CAAC,UAAA,CAAA;AACzB,IAAA;AACA;;AAEC,QACD,IAAIrB,iBAAAA,GAA4B;QAC5B,OAAO,IAAI,CAACe,kBAAkB;AAClC,IAAA;IAEA,IAAIf,iBAAAA,CAAkBoB,KAAa,EAAE;QACjC,IAAI,CAACL,kBAAkB,GAAGK,KAAAA;QAC1B,IAAI,CAACC,eAAe,CAAC,mBAAA,CAAA;AACzB,IAAA;AACA;;AAEC,QACD,IAAIE,IAAAA,GAAe;QACf,OAAO,IAAI,CAACP,KAAK;AACrB,IAAA;IAEA,IAAIO,IAAAA,CAAKH,KAAa,EAAE;QACpB,IAAI,CAACJ,KAAK,GAAGI,KAAAA;QACb,IAAI,CAACC,eAAe,CAAC,MAAA,CAAA;AACzB,IAAA;IAEA,OAAOG,GAAAA,CAAIC,aAA4C,EAAqG;;;AAGxJ,QAAA,OAAOC,sBAAsEvB,2BAAAA,EAA6BsB,aAAAA,CAAAA;AAC9G,IAAA;AACJ;;;;;"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var commands = require('@cratis/arc/commands');
|
|
4
|
+
var commands$1 = require('@cratis/arc.react/commands');
|
|
5
|
+
var reflection = require('@cratis/arc/reflection');
|
|
6
|
+
var fundamentals = require('@cratis/fundamentals');
|
|
7
|
+
|
|
8
|
+
// @generated by Cratis. Source: Cratis.AI.Providers.Adding.AddOpenAIProvider. Time: 2026-09-15T16:07:34.9586641Z. Hash: 5B29A32955557EC709EC2FDFA77F01DDAA837E0D151A0FC999C712904AC771BF
|
|
9
|
+
/*---------------------------------------------------------------------------------------------
|
|
10
|
+
* **DO NOT EDIT** - This file is an automatically generated file.
|
|
11
|
+
*--------------------------------------------------------------------------------------------*/ /* eslint-disable sort-imports */ /* eslint-disable @typescript-eslint/no-empty-interface */ // eslint-disable-next-line header/header
|
|
12
|
+
class AddOpenAIProviderValidator extends commands.CommandValidator {
|
|
13
|
+
constructor(){
|
|
14
|
+
super();
|
|
15
|
+
this.ruleFor((c)=>c.maxConcurrentJobs).greaterThanOrEqual(0).withMessage('A concurrency limit cannot be negative - use zero for no limit');
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* 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.
|
|
20
|
+
*/ class AddOpenAIProvider extends commands.Command {
|
|
21
|
+
route = '/api/a-i/providers/adding/add-open-a-i-provider';
|
|
22
|
+
validation = new AddOpenAIProviderValidator();
|
|
23
|
+
treatWarningsAsErrors = false;
|
|
24
|
+
roles = [];
|
|
25
|
+
propertyDescriptors = [
|
|
26
|
+
new reflection.PropertyDescriptor('apiKey', String, false),
|
|
27
|
+
new reflection.PropertyDescriptor('maxConcurrentJobs', Number, false),
|
|
28
|
+
new reflection.PropertyDescriptor('name', String, false)
|
|
29
|
+
];
|
|
30
|
+
_apiKey;
|
|
31
|
+
_maxConcurrentJobs;
|
|
32
|
+
_name;
|
|
33
|
+
constructor(){
|
|
34
|
+
super(fundamentals.Guid, false);
|
|
35
|
+
}
|
|
36
|
+
get requestParameters() {
|
|
37
|
+
return [];
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The OpenAI API key.
|
|
41
|
+
*/ get apiKey() {
|
|
42
|
+
return this._apiKey;
|
|
43
|
+
}
|
|
44
|
+
set apiKey(value) {
|
|
45
|
+
this._apiKey = value;
|
|
46
|
+
this.propertyChanged('apiKey');
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* How many worker sessions may run on it at once - zero for no limit.
|
|
50
|
+
*/ get maxConcurrentJobs() {
|
|
51
|
+
return this._maxConcurrentJobs;
|
|
52
|
+
}
|
|
53
|
+
set maxConcurrentJobs(value) {
|
|
54
|
+
this._maxConcurrentJobs = value;
|
|
55
|
+
this.propertyChanged('maxConcurrentJobs');
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* The provider's display name.
|
|
59
|
+
*/ get name() {
|
|
60
|
+
return this._name;
|
|
61
|
+
}
|
|
62
|
+
set name(value) {
|
|
63
|
+
this._name = value;
|
|
64
|
+
this.propertyChanged('name');
|
|
65
|
+
}
|
|
66
|
+
static use(initialValues) {
|
|
67
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
68
|
+
// @ts-ignore
|
|
69
|
+
return commands$1.useCommand(AddOpenAIProvider, initialValues);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
exports.AddOpenAIProvider = AddOpenAIProvider;
|
|
74
|
+
exports.AddOpenAIProviderValidator = AddOpenAIProviderValidator;
|
|
75
|
+
//# sourceMappingURL=AddOpenAIProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddOpenAIProvider.js","sources":["../../../../../generated/Providers/Adding/AddOpenAIProvider.ts"],"sourcesContent":["// @generated by Cratis. Source: Cratis.AI.Providers.Adding.AddOpenAIProvider. Time: 2026-09-15T16:07:34.9586641Z. Hash: 5B29A32955557EC709EC2FDFA77F01DDAA837E0D151A0FC999C712904AC771BF\n/*---------------------------------------------------------------------------------------------\n * **DO NOT EDIT** - This file is an automatically generated file.\n *--------------------------------------------------------------------------------------------*/\n\n/* eslint-disable sort-imports */\n/* eslint-disable @typescript-eslint/no-empty-interface */\n// eslint-disable-next-line header/header\nimport { Command, CommandValidator } from '@cratis/arc/commands';\nimport { useCommand, SetCommandValues, ClearCommandValues } from '@cratis/arc.react/commands';\nimport { PropertyDescriptor } from '@cratis/arc/reflection';\nimport { Guid } from '@cratis/fundamentals';\n\n/**\n * 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.\n */\nexport interface IAddOpenAIProvider {\n \n /**\n * The OpenAI API key.\n */\n apiKey?: string;\n \n /**\n * How many worker sessions may run on it at once - zero for no limit.\n */\n maxConcurrentJobs?: number;\n \n /**\n * The provider's display name.\n */\n name?: string;\n}\n\nexport class AddOpenAIProviderValidator extends CommandValidator<IAddOpenAIProvider> {\n constructor() {\n super();\n this.ruleFor(c => c.maxConcurrentJobs).greaterThanOrEqual(0).withMessage('A concurrency limit cannot be negative - use zero for no limit');\n }\n}\n\n/**\n * 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.\n */\nexport class AddOpenAIProvider extends Command<IAddOpenAIProvider, Guid> implements IAddOpenAIProvider {\n readonly route: string = '/api/a-i/providers/adding/add-open-a-i-provider';\n readonly validation: CommandValidator = new AddOpenAIProviderValidator();\n readonly treatWarningsAsErrors: boolean = false;\n readonly roles: string[] = [];\n readonly propertyDescriptors: PropertyDescriptor[] = [\n new PropertyDescriptor('apiKey', String, false),\n new PropertyDescriptor('maxConcurrentJobs', Number, false),\n new PropertyDescriptor('name', String, false),\n ];\n\n private _apiKey!: string;\n private _maxConcurrentJobs!: number;\n private _name!: string;\n\n constructor() {\n super(Guid, false);\n }\n\n get requestParameters(): string[] {\n return [\n ];\n }\n\n /**\n * The OpenAI API key.\n */\n get apiKey(): string {\n return this._apiKey;\n }\n\n set apiKey(value: string) {\n this._apiKey = value;\n this.propertyChanged('apiKey');\n }\n /**\n * How many worker sessions may run on it at once - zero for no limit.\n */\n get maxConcurrentJobs(): number {\n return this._maxConcurrentJobs;\n }\n\n set maxConcurrentJobs(value: number) {\n this._maxConcurrentJobs = value;\n this.propertyChanged('maxConcurrentJobs');\n }\n /**\n * The provider's display name.\n */\n get name(): string {\n return this._name;\n }\n\n set name(value: string) {\n this._name = value;\n this.propertyChanged('name');\n }\n\n static use(initialValues?: IAddOpenAIProvider): [AddOpenAIProvider, SetCommandValues<IAddOpenAIProvider>, ClearCommandValues] {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return useCommand<AddOpenAIProvider, IAddOpenAIProvider>(AddOpenAIProvider, initialValues);\n }\n}\n"],"names":["AddOpenAIProviderValidator","CommandValidator","ruleFor","c","maxConcurrentJobs","greaterThanOrEqual","withMessage","AddOpenAIProvider","Command","route","validation","treatWarningsAsErrors","roles","propertyDescriptors","PropertyDescriptor","String","Number","_apiKey","_maxConcurrentJobs","_name","Guid","requestParameters","apiKey","value","propertyChanged","name","use","initialValues","useCommand"],"mappings":";;;;;;;AAAA;AACA;;AAE8F;AA+BvF,MAAMA,0BAAAA,SAAmCC,yBAAAA,CAAAA;IAC5C,WAAA,EAAc;QACV,KAAK,EAAA;AACL,QAAA,IAAI,CAACC,OAAO,CAACC,CAAAA,CAAAA,GAAKA,CAAAA,CAAEC,iBAAiB,CAAA,CAAEC,kBAAkB,CAAC,CAAA,CAAA,CAAGC,WAAW,CAAC,gEAAA,CAAA;AAC7E,IAAA;AACJ;AAEA;;IAGO,MAAMC,iBAAAA,SAA0BC,gBAAAA,CAAAA;AAC1BC,IAAAA,KAAAA,GAAgB,iDAAA;AAChBC,IAAAA,UAAAA,GAA+B,IAAIV,0BAAAA,EAAAA;AACnCW,IAAAA,qBAAAA,GAAiC,KAAA;AACjCC,IAAAA,KAAAA,GAAkB,EAAE;IACpBC,mBAAAA,GAA4C;QACjD,IAAIC,6BAAAA,CAAmB,UAAUC,MAAAA,EAAQ,KAAA,CAAA;QACzC,IAAID,6BAAAA,CAAmB,qBAAqBE,MAAAA,EAAQ,KAAA,CAAA;QACpD,IAAIF,6BAAAA,CAAmB,QAAQC,MAAAA,EAAQ,KAAA;KAC1C;IAEOE,OAAAA;IACAC,kBAAAA;IACAC,KAAAA;IAER,WAAA,EAAc;AACV,QAAA,KAAK,CAACC,iBAAAA,EAAM,KAAA,CAAA;AAChB,IAAA;AAEA,IAAA,IAAIC,iBAAAA,GAA8B;AAC9B,QAAA,OAAO,EACN;AACL,IAAA;AAEA;;AAEC,QACD,IAAIC,MAAAA,GAAiB;QACjB,OAAO,IAAI,CAACL,OAAO;AACvB,IAAA;IAEA,IAAIK,MAAAA,CAAOC,KAAa,EAAE;QACtB,IAAI,CAACN,OAAO,GAAGM,KAAAA;QACf,IAAI,CAACC,eAAe,CAAC,QAAA,CAAA;AACzB,IAAA;AACA;;AAEC,QACD,IAAIpB,iBAAAA,GAA4B;QAC5B,OAAO,IAAI,CAACc,kBAAkB;AAClC,IAAA;IAEA,IAAId,iBAAAA,CAAkBmB,KAAa,EAAE;QACjC,IAAI,CAACL,kBAAkB,GAAGK,KAAAA;QAC1B,IAAI,CAACC,eAAe,CAAC,mBAAA,CAAA;AACzB,IAAA;AACA;;AAEC,QACD,IAAIC,IAAAA,GAAe;QACf,OAAO,IAAI,CAACN,KAAK;AACrB,IAAA;IAEA,IAAIM,IAAAA,CAAKF,KAAa,EAAE;QACpB,IAAI,CAACJ,KAAK,GAAGI,KAAAA;QACb,IAAI,CAACC,eAAe,CAAC,MAAA,CAAA;AACzB,IAAA;IAEA,OAAOE,GAAAA,CAAIC,aAAkC,EAAiF;;;AAG1H,QAAA,OAAOC,sBAAkDrB,iBAAAA,EAAmBoB,aAAAA,CAAAA;AAChF,IAAA;AACJ;;;;;"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var commands = require('@cratis/arc/commands');
|
|
4
|
+
var commands$1 = require('@cratis/arc.react/commands');
|
|
5
|
+
var reflection = require('@cratis/arc/reflection');
|
|
6
|
+
var fundamentals = require('@cratis/fundamentals');
|
|
7
|
+
|
|
8
|
+
// @generated by Cratis. Source: Cratis.AI.Providers.Adding.AddZAIProvider. Time: 2026-09-15T16:07:34.9586641Z. Hash: 06FBD795E3651AF33623DBF53D1EA56073428F79FABA05A651CB734CF2C90E8D
|
|
9
|
+
/*---------------------------------------------------------------------------------------------
|
|
10
|
+
* **DO NOT EDIT** - This file is an automatically generated file.
|
|
11
|
+
*--------------------------------------------------------------------------------------------*/ /* eslint-disable sort-imports */ /* eslint-disable @typescript-eslint/no-empty-interface */ // eslint-disable-next-line header/header
|
|
12
|
+
class AddZAIProviderValidator extends commands.CommandValidator {
|
|
13
|
+
constructor(){
|
|
14
|
+
super();
|
|
15
|
+
this.ruleFor((c)=>c.maxConcurrentJobs).greaterThanOrEqual(0).withMessage('A concurrency limit cannot be negative - use zero for no limit');
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* 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).
|
|
20
|
+
*/ class AddZAIProvider extends commands.Command {
|
|
21
|
+
route = '/api/a-i/providers/adding/add-z-a-i-provider';
|
|
22
|
+
validation = new AddZAIProviderValidator();
|
|
23
|
+
treatWarningsAsErrors = false;
|
|
24
|
+
roles = [];
|
|
25
|
+
propertyDescriptors = [
|
|
26
|
+
new reflection.PropertyDescriptor('apiKey', String, false),
|
|
27
|
+
new reflection.PropertyDescriptor('endpoint', String, false),
|
|
28
|
+
new reflection.PropertyDescriptor('maxConcurrentJobs', Number, false),
|
|
29
|
+
new reflection.PropertyDescriptor('name', String, false)
|
|
30
|
+
];
|
|
31
|
+
_apiKey;
|
|
32
|
+
_endpoint;
|
|
33
|
+
_maxConcurrentJobs;
|
|
34
|
+
_name;
|
|
35
|
+
constructor(){
|
|
36
|
+
super(fundamentals.Guid, false);
|
|
37
|
+
}
|
|
38
|
+
get requestParameters() {
|
|
39
|
+
return [];
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* The Z.ai API key.
|
|
43
|
+
*/ get apiKey() {
|
|
44
|
+
return this._apiKey;
|
|
45
|
+
}
|
|
46
|
+
set apiKey(value) {
|
|
47
|
+
this._apiKey = value;
|
|
48
|
+
this.propertyChanged('apiKey');
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* The Z.ai endpoint - the base URL the Anthropic-compatible API sits under.
|
|
52
|
+
*/ get endpoint() {
|
|
53
|
+
return this._endpoint;
|
|
54
|
+
}
|
|
55
|
+
set endpoint(value) {
|
|
56
|
+
this._endpoint = value;
|
|
57
|
+
this.propertyChanged('endpoint');
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* How many worker sessions may run on it at once - zero for no limit.
|
|
61
|
+
*/ get maxConcurrentJobs() {
|
|
62
|
+
return this._maxConcurrentJobs;
|
|
63
|
+
}
|
|
64
|
+
set maxConcurrentJobs(value) {
|
|
65
|
+
this._maxConcurrentJobs = value;
|
|
66
|
+
this.propertyChanged('maxConcurrentJobs');
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* The provider's display name.
|
|
70
|
+
*/ get name() {
|
|
71
|
+
return this._name;
|
|
72
|
+
}
|
|
73
|
+
set name(value) {
|
|
74
|
+
this._name = value;
|
|
75
|
+
this.propertyChanged('name');
|
|
76
|
+
}
|
|
77
|
+
static use(initialValues) {
|
|
78
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
79
|
+
// @ts-ignore
|
|
80
|
+
return commands$1.useCommand(AddZAIProvider, initialValues);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
exports.AddZAIProvider = AddZAIProvider;
|
|
85
|
+
exports.AddZAIProviderValidator = AddZAIProviderValidator;
|
|
86
|
+
//# sourceMappingURL=AddZAIProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddZAIProvider.js","sources":["../../../../../generated/Providers/Adding/AddZAIProvider.ts"],"sourcesContent":["// @generated by Cratis. Source: Cratis.AI.Providers.Adding.AddZAIProvider. Time: 2026-09-15T16:07:34.9586641Z. Hash: 06FBD795E3651AF33623DBF53D1EA56073428F79FABA05A651CB734CF2C90E8D\n/*---------------------------------------------------------------------------------------------\n * **DO NOT EDIT** - This file is an automatically generated file.\n *--------------------------------------------------------------------------------------------*/\n\n/* eslint-disable sort-imports */\n/* eslint-disable @typescript-eslint/no-empty-interface */\n// eslint-disable-next-line header/header\nimport { Command, CommandValidator } from '@cratis/arc/commands';\nimport { useCommand, SetCommandValues, ClearCommandValues } from '@cratis/arc.react/commands';\nimport { PropertyDescriptor } from '@cratis/arc/reflection';\nimport { Guid } from '@cratis/fundamentals';\n\n/**\n * 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).\n */\nexport interface IAddZAIProvider {\n \n /**\n * The Z.ai API key.\n */\n apiKey?: string;\n \n /**\n * The Z.ai endpoint - the base URL the Anthropic-compatible API sits under.\n */\n endpoint?: string;\n \n /**\n * How many worker sessions may run on it at once - zero for no limit.\n */\n maxConcurrentJobs?: number;\n \n /**\n * The provider's display name.\n */\n name?: string;\n}\n\nexport class AddZAIProviderValidator extends CommandValidator<IAddZAIProvider> {\n constructor() {\n super();\n this.ruleFor(c => c.maxConcurrentJobs).greaterThanOrEqual(0).withMessage('A concurrency limit cannot be negative - use zero for no limit');\n }\n}\n\n/**\n * 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).\n */\nexport class AddZAIProvider extends Command<IAddZAIProvider, Guid> implements IAddZAIProvider {\n readonly route: string = '/api/a-i/providers/adding/add-z-a-i-provider';\n readonly validation: CommandValidator = new AddZAIProviderValidator();\n readonly treatWarningsAsErrors: boolean = false;\n readonly roles: string[] = [];\n readonly propertyDescriptors: PropertyDescriptor[] = [\n new PropertyDescriptor('apiKey', String, false),\n new PropertyDescriptor('endpoint', String, false),\n new PropertyDescriptor('maxConcurrentJobs', Number, false),\n new PropertyDescriptor('name', String, false),\n ];\n\n private _apiKey!: string;\n private _endpoint!: string;\n private _maxConcurrentJobs!: number;\n private _name!: string;\n\n constructor() {\n super(Guid, false);\n }\n\n get requestParameters(): string[] {\n return [\n ];\n }\n\n /**\n * The Z.ai API key.\n */\n get apiKey(): string {\n return this._apiKey;\n }\n\n set apiKey(value: string) {\n this._apiKey = value;\n this.propertyChanged('apiKey');\n }\n /**\n * The Z.ai endpoint - the base URL the Anthropic-compatible API sits under.\n */\n get endpoint(): string {\n return this._endpoint;\n }\n\n set endpoint(value: string) {\n this._endpoint = value;\n this.propertyChanged('endpoint');\n }\n /**\n * How many worker sessions may run on it at once - zero for no limit.\n */\n get maxConcurrentJobs(): number {\n return this._maxConcurrentJobs;\n }\n\n set maxConcurrentJobs(value: number) {\n this._maxConcurrentJobs = value;\n this.propertyChanged('maxConcurrentJobs');\n }\n /**\n * The provider's display name.\n */\n get name(): string {\n return this._name;\n }\n\n set name(value: string) {\n this._name = value;\n this.propertyChanged('name');\n }\n\n static use(initialValues?: IAddZAIProvider): [AddZAIProvider, SetCommandValues<IAddZAIProvider>, ClearCommandValues] {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return useCommand<AddZAIProvider, IAddZAIProvider>(AddZAIProvider, initialValues);\n }\n}\n"],"names":["AddZAIProviderValidator","CommandValidator","ruleFor","c","maxConcurrentJobs","greaterThanOrEqual","withMessage","AddZAIProvider","Command","route","validation","treatWarningsAsErrors","roles","propertyDescriptors","PropertyDescriptor","String","Number","_apiKey","_endpoint","_maxConcurrentJobs","_name","Guid","requestParameters","apiKey","value","propertyChanged","endpoint","name","use","initialValues","useCommand"],"mappings":";;;;;;;AAAA;AACA;;AAE8F;AAoCvF,MAAMA,uBAAAA,SAAgCC,yBAAAA,CAAAA;IACzC,WAAA,EAAc;QACV,KAAK,EAAA;AACL,QAAA,IAAI,CAACC,OAAO,CAACC,CAAAA,CAAAA,GAAKA,CAAAA,CAAEC,iBAAiB,CAAA,CAAEC,kBAAkB,CAAC,CAAA,CAAA,CAAGC,WAAW,CAAC,gEAAA,CAAA;AAC7E,IAAA;AACJ;AAEA;;IAGO,MAAMC,cAAAA,SAAuBC,gBAAAA,CAAAA;AACvBC,IAAAA,KAAAA,GAAgB,8CAAA;AAChBC,IAAAA,UAAAA,GAA+B,IAAIV,uBAAAA,EAAAA;AACnCW,IAAAA,qBAAAA,GAAiC,KAAA;AACjCC,IAAAA,KAAAA,GAAkB,EAAE;IACpBC,mBAAAA,GAA4C;QACjD,IAAIC,6BAAAA,CAAmB,UAAUC,MAAAA,EAAQ,KAAA,CAAA;QACzC,IAAID,6BAAAA,CAAmB,YAAYC,MAAAA,EAAQ,KAAA,CAAA;QAC3C,IAAID,6BAAAA,CAAmB,qBAAqBE,MAAAA,EAAQ,KAAA,CAAA;QACpD,IAAIF,6BAAAA,CAAmB,QAAQC,MAAAA,EAAQ,KAAA;KAC1C;IAEOE,OAAAA;IACAC,SAAAA;IACAC,kBAAAA;IACAC,KAAAA;IAER,WAAA,EAAc;AACV,QAAA,KAAK,CAACC,iBAAAA,EAAM,KAAA,CAAA;AAChB,IAAA;AAEA,IAAA,IAAIC,iBAAAA,GAA8B;AAC9B,QAAA,OAAO,EACN;AACL,IAAA;AAEA;;AAEC,QACD,IAAIC,MAAAA,GAAiB;QACjB,OAAO,IAAI,CAACN,OAAO;AACvB,IAAA;IAEA,IAAIM,MAAAA,CAAOC,KAAa,EAAE;QACtB,IAAI,CAACP,OAAO,GAAGO,KAAAA;QACf,IAAI,CAACC,eAAe,CAAC,QAAA,CAAA;AACzB,IAAA;AACA;;AAEC,QACD,IAAIC,QAAAA,GAAmB;QACnB,OAAO,IAAI,CAACR,SAAS;AACzB,IAAA;IAEA,IAAIQ,QAAAA,CAASF,KAAa,EAAE;QACxB,IAAI,CAACN,SAAS,GAAGM,KAAAA;QACjB,IAAI,CAACC,eAAe,CAAC,UAAA,CAAA;AACzB,IAAA;AACA;;AAEC,QACD,IAAIrB,iBAAAA,GAA4B;QAC5B,OAAO,IAAI,CAACe,kBAAkB;AAClC,IAAA;IAEA,IAAIf,iBAAAA,CAAkBoB,KAAa,EAAE;QACjC,IAAI,CAACL,kBAAkB,GAAGK,KAAAA;QAC1B,IAAI,CAACC,eAAe,CAAC,mBAAA,CAAA;AACzB,IAAA;AACA;;AAEC,QACD,IAAIE,IAAAA,GAAe;QACf,OAAO,IAAI,CAACP,KAAK;AACrB,IAAA;IAEA,IAAIO,IAAAA,CAAKH,KAAa,EAAE;QACpB,IAAI,CAACJ,KAAK,GAAGI,KAAAA;QACb,IAAI,CAACC,eAAe,CAAC,MAAA,CAAA;AACzB,IAAA;IAEA,OAAOG,GAAAA,CAAIC,aAA+B,EAA2E;;;AAGjH,QAAA,OAAOC,sBAA4CvB,cAAAA,EAAgBsB,aAAAA,CAAAA;AACvE,IAAA;AACJ;;;;;"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var commands = require('@cratis/arc/commands');
|
|
4
|
+
var commands$1 = require('@cratis/arc.react/commands');
|
|
5
|
+
var reflection = require('@cratis/arc/reflection');
|
|
6
|
+
var fundamentals = require('@cratis/fundamentals');
|
|
7
|
+
|
|
8
|
+
// @generated by Cratis. Source: Cratis.AI.Providers.Removing.RemoveAIProvider. Time: 2026-09-15T16:07:34.9586641Z. Hash: FC6C6B28E182282A3EDCB8319142BE8A543EAE3A6E9D8BB08A0503E2F5543875
|
|
9
|
+
/*---------------------------------------------------------------------------------------------
|
|
10
|
+
* **DO NOT EDIT** - This file is an automatically generated file.
|
|
11
|
+
*--------------------------------------------------------------------------------------------*/ /* eslint-disable sort-imports */ /* eslint-disable @typescript-eslint/no-empty-interface */ // eslint-disable-next-line header/header
|
|
12
|
+
/**
|
|
13
|
+
* Command for removing a configured AI provider. A pool member or an agent naming it as its provider falls back the next time it resolves - nothing here reaches into either to clear the reference. Ported from Direct's `AIProviders.Removing.RemoveAIProvider` (plan Section 5.2 step 4).
|
|
14
|
+
*/ class RemoveAIProvider extends commands.Command {
|
|
15
|
+
route = '/api/a-i/providers/removing';
|
|
16
|
+
treatWarningsAsErrors = false;
|
|
17
|
+
roles = [];
|
|
18
|
+
propertyDescriptors = [
|
|
19
|
+
new reflection.PropertyDescriptor('provider', fundamentals.Guid, false)
|
|
20
|
+
];
|
|
21
|
+
_provider;
|
|
22
|
+
constructor(){
|
|
23
|
+
super(fundamentals.Guid, false);
|
|
24
|
+
}
|
|
25
|
+
get requestParameters() {
|
|
26
|
+
return [];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* The identity of the provider to remove.
|
|
30
|
+
*/ get provider() {
|
|
31
|
+
return this._provider;
|
|
32
|
+
}
|
|
33
|
+
set provider(value) {
|
|
34
|
+
this._provider = value;
|
|
35
|
+
this.propertyChanged('provider');
|
|
36
|
+
}
|
|
37
|
+
static use(initialValues) {
|
|
38
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
39
|
+
// @ts-ignore
|
|
40
|
+
return commands$1.useCommand(RemoveAIProvider, initialValues);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
exports.RemoveAIProvider = RemoveAIProvider;
|
|
45
|
+
//# sourceMappingURL=RemoveAIProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoveAIProvider.js","sources":["../../../../../generated/Providers/Removing/RemoveAIProvider.ts"],"sourcesContent":["// @generated by Cratis. Source: Cratis.AI.Providers.Removing.RemoveAIProvider. Time: 2026-09-15T16:07:34.9586641Z. Hash: FC6C6B28E182282A3EDCB8319142BE8A543EAE3A6E9D8BB08A0503E2F5543875\n/*---------------------------------------------------------------------------------------------\n * **DO NOT EDIT** - This file is an automatically generated file.\n *--------------------------------------------------------------------------------------------*/\n\n/* eslint-disable sort-imports */\n/* eslint-disable @typescript-eslint/no-empty-interface */\n// eslint-disable-next-line header/header\nimport { Command } from '@cratis/arc/commands';\nimport { useCommand, SetCommandValues, ClearCommandValues } from '@cratis/arc.react/commands';\nimport { PropertyDescriptor } from '@cratis/arc/reflection';\nimport { Guid } from '@cratis/fundamentals';\n\n/**\n * Command for removing a configured AI provider. A pool member or an agent naming it as its provider falls back the next time it resolves - nothing here reaches into either to clear the reference. Ported from Direct's `AIProviders.Removing.RemoveAIProvider` (plan Section 5.2 step 4).\n */\nexport interface IRemoveAIProvider {\n \n /**\n * The identity of the provider to remove.\n */\n provider?: Guid;\n}\n\n\n/**\n * Command for removing a configured AI provider. A pool member or an agent naming it as its provider falls back the next time it resolves - nothing here reaches into either to clear the reference. Ported from Direct's `AIProviders.Removing.RemoveAIProvider` (plan Section 5.2 step 4).\n */\nexport class RemoveAIProvider extends Command<IRemoveAIProvider, Guid> implements IRemoveAIProvider {\n readonly route: string = '/api/a-i/providers/removing';\n readonly treatWarningsAsErrors: boolean = false;\n readonly roles: string[] = [];\n readonly propertyDescriptors: PropertyDescriptor[] = [\n new PropertyDescriptor('provider', Guid, false),\n ];\n\n private _provider!: Guid;\n\n constructor() {\n super(Guid, false);\n }\n\n get requestParameters(): string[] {\n return [\n ];\n }\n\n /**\n * The identity of the provider to remove.\n */\n get provider(): Guid {\n return this._provider;\n }\n\n set provider(value: Guid) {\n this._provider = value;\n this.propertyChanged('provider');\n }\n\n static use(initialValues?: IRemoveAIProvider): [RemoveAIProvider, SetCommandValues<IRemoveAIProvider>, ClearCommandValues] {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return useCommand<RemoveAIProvider, IRemoveAIProvider>(RemoveAIProvider, initialValues);\n }\n}\n"],"names":["RemoveAIProvider","Command","route","treatWarningsAsErrors","roles","propertyDescriptors","PropertyDescriptor","Guid","_provider","requestParameters","provider","value","propertyChanged","use","initialValues","useCommand"],"mappings":";;;;;;;AAAA;AACA;;AAE8F;AAsB9F;;IAGO,MAAMA,gBAAAA,SAAyBC,gBAAAA,CAAAA;AACzBC,IAAAA,KAAAA,GAAgB,6BAAA;AAChBC,IAAAA,qBAAAA,GAAiC,KAAA;AACjCC,IAAAA,KAAAA,GAAkB,EAAE;IACpBC,mBAAAA,GAA4C;QACjD,IAAIC,6BAAAA,CAAmB,YAAYC,iBAAAA,EAAM,KAAA;KAC5C;IAEOC,SAAAA;IAER,WAAA,EAAc;AACV,QAAA,KAAK,CAACD,iBAAAA,EAAM,KAAA,CAAA;AAChB,IAAA;AAEA,IAAA,IAAIE,iBAAAA,GAA8B;AAC9B,QAAA,OAAO,EACN;AACL,IAAA;AAEA;;AAEC,QACD,IAAIC,QAAAA,GAAiB;QACjB,OAAO,IAAI,CAACF,SAAS;AACzB,IAAA;IAEA,IAAIE,QAAAA,CAASC,KAAW,EAAE;QACtB,IAAI,CAACH,SAAS,GAAGG,KAAAA;QACjB,IAAI,CAACC,eAAe,CAAC,UAAA,CAAA;AACzB,IAAA;IAEA,OAAOC,GAAAA,CAAIC,aAAiC,EAA+E;;;AAGvH,QAAA,OAAOC,sBAAgDf,gBAAAA,EAAkBc,aAAAA,CAAAA;AAC7E,IAAA;AACJ;;;;"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var commands = require('@cratis/arc/commands');
|
|
4
|
+
var commands$1 = require('@cratis/arc.react/commands');
|
|
5
|
+
var reflection = require('@cratis/arc/reflection');
|
|
6
|
+
var fundamentals = require('@cratis/fundamentals');
|
|
7
|
+
|
|
8
|
+
// @generated by Cratis. Source: Cratis.AI.Providers.Renaming.RenameAIProvider. Time: 2026-09-15T16:07:34.9586641Z. Hash: E241BAC70C3CB37CAD402CC8733071E7C95CC3299190A14DFAF6A22D4424A86F
|
|
9
|
+
/*---------------------------------------------------------------------------------------------
|
|
10
|
+
* **DO NOT EDIT** - This file is an automatically generated file.
|
|
11
|
+
*--------------------------------------------------------------------------------------------*/ /* eslint-disable sort-imports */ /* eslint-disable @typescript-eslint/no-empty-interface */ // eslint-disable-next-line header/header
|
|
12
|
+
/**
|
|
13
|
+
* Command for renaming a configured AI provider - vendor-agnostic, since a name change touches nothing vendor-specific. Ported from Direct's `AIProviders.Renaming.RenameAIProvider` (plan Section 5.2 step 4).
|
|
14
|
+
*/ class RenameAIProvider extends commands.Command {
|
|
15
|
+
route = '/api/a-i/providers/renaming';
|
|
16
|
+
treatWarningsAsErrors = false;
|
|
17
|
+
roles = [];
|
|
18
|
+
propertyDescriptors = [
|
|
19
|
+
new reflection.PropertyDescriptor('name', String, false),
|
|
20
|
+
new reflection.PropertyDescriptor('provider', fundamentals.Guid, false)
|
|
21
|
+
];
|
|
22
|
+
_name;
|
|
23
|
+
_provider;
|
|
24
|
+
constructor(){
|
|
25
|
+
super(fundamentals.Guid, false);
|
|
26
|
+
}
|
|
27
|
+
get requestParameters() {
|
|
28
|
+
return [];
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The new display name.
|
|
32
|
+
*/ get name() {
|
|
33
|
+
return this._name;
|
|
34
|
+
}
|
|
35
|
+
set name(value) {
|
|
36
|
+
this._name = value;
|
|
37
|
+
this.propertyChanged('name');
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The provider to rename.
|
|
41
|
+
*/ get provider() {
|
|
42
|
+
return this._provider;
|
|
43
|
+
}
|
|
44
|
+
set provider(value) {
|
|
45
|
+
this._provider = value;
|
|
46
|
+
this.propertyChanged('provider');
|
|
47
|
+
}
|
|
48
|
+
static use(initialValues) {
|
|
49
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
50
|
+
// @ts-ignore
|
|
51
|
+
return commands$1.useCommand(RenameAIProvider, initialValues);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
exports.RenameAIProvider = RenameAIProvider;
|
|
56
|
+
//# sourceMappingURL=RenameAIProvider.js.map
|