Skip to content

Commit 0ec3413

Browse files
committed
Add TypeScript definitions for designer-common, designer-macro, and elementmacro.context APIs
- Introduced `designer-common.api.d.ts` with utility functions for string manipulation, pluralization, and application context. - Added `designer-macro.api.d.ts` defining functions for diagram interaction, element selection, and module task execution. - Created `elementmacro.context.api.d.ts` to expose the element and association that triggered script execution.
1 parent b2a8cbd commit 0ec3413

48 files changed

Lines changed: 2865 additions & 378 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
interface IModelRecord {
2+
providerId: string;
3+
modelName: string;
4+
providerName: string;
5+
thinkingType: ThinkingType;
6+
}
7+
8+
type ThinkingType = "None" | "Unknown" | "ThinkingLevels";
9+
10+
interface IProviderModelsResult {
11+
providerModels: IModelRecord[];
12+
modelLookup: { [key: string]: IModelRecord };
13+
}
14+
15+
interface ICollectedAiSettings {
16+
providerId: string;
17+
modelId: string;
18+
thinkingLevel: string | null;
19+
}
20+
21+
async function getAiProviderModels(): Promise<IProviderModelsResult> {
22+
const moduleTaskResult = await executeModuleTask("Intent.Modules.Common.AI.Tasks.ProviderModelsTask");
23+
24+
const providerModels = JSON.parse(moduleTaskResult) as IModelRecord[];
25+
const modelLookup = providerModels.reduce((acc: any, item) => {
26+
acc[`${item.providerId}--${item.modelName}`] = item;
27+
return acc;
28+
}, {});
29+
30+
return { providerModels, modelLookup };
31+
}
32+
33+
async function getAiModelSelectionFields(providerModelsResult: IProviderModelsResult, aiSettingKeyPrefix: string): Promise<MacroApi.Context.IDynamicFormFieldConfig[]> {
34+
const globalSettings = await userSettings.loadGlobalAsync();
35+
const autoImplementationAiModelId = globalSettings.get(`${aiSettingKeyPrefix}.ModelId`);
36+
const autoImplementationAiThinkingLevel = globalSettings.get(`${aiSettingKeyPrefix}.ThinkingLevel`);
37+
38+
const { providerModels, modelLookup } = providerModelsResult;
39+
40+
return [
41+
{
42+
id: "model",
43+
fieldType: "select",
44+
label: "Model",
45+
isRequired: true,
46+
hint: providerModels.length === 0 ? "Not seeing any AI Models? Learn how to configure or add models [here](https://docs.intentarchitect.com/articles/modules-common/intent-common-ai/intent-common-ai.html)." : "",
47+
selectOptions:
48+
Object.entries(modelLookup)
49+
.map(([key, value]: [string, IModelRecord]) => {
50+
return {
51+
id: key,
52+
description: value.modelName,
53+
additionalInfo: value.providerName
54+
};
55+
}),
56+
value: autoImplementationAiModelId,
57+
onChange: async (config) => {
58+
const curThinkingType = modelLookup[config.getField("model").value as string].thinkingType;
59+
const thinkingField = config.getField("thinking");
60+
61+
thinkingField.isHidden = curThinkingType === "None";
62+
thinkingField.selectOptions = getApplicableThinkingOptions(curThinkingType);
63+
64+
if (curThinkingType === "ThinkingLevels") {
65+
thinkingField.value = "low";
66+
} else if (curThinkingType === "Unknown") {
67+
thinkingField.value = "none";
68+
} else {
69+
thinkingField.value = null;
70+
}
71+
}
72+
},
73+
{
74+
id: "thinking",
75+
fieldType: "select",
76+
label: "Thinking/reasoning mode",
77+
isHidden: autoImplementationAiThinkingLevel == null || providerModels.length === 0,
78+
value: autoImplementationAiThinkingLevel,
79+
selectOptions: getApplicableThinkingOptions(modelLookup[autoImplementationAiModelId].thinkingType)
80+
}
81+
];
82+
83+
function getApplicableThinkingOptions(thinkingType: ThinkingType | null): MacroApi.Context.IDynamicFormFieldSelectOption[] {
84+
if (thinkingType === "ThinkingLevels") {
85+
return [
86+
{
87+
id: "low",
88+
description: "Low",
89+
additionalInfo: "Thinks less, quicker"
90+
},
91+
{
92+
id: "high",
93+
description: "High",
94+
additionalInfo: "Thinks more, slower"
95+
}
96+
];
97+
} else if (thinkingType === "Unknown") {
98+
return [
99+
{
100+
id: "none",
101+
description: "None",
102+
additionalInfo: "No thinking/reasoning"
103+
},
104+
{
105+
id: "low",
106+
description: "Low",
107+
additionalInfo: "Thinks less, quicker"
108+
},
109+
{
110+
id: "high",
111+
description: "High",
112+
additionalInfo: "Thinks more, slower"
113+
}
114+
];
115+
} else {
116+
return [];
117+
}
118+
}
119+
}
120+
121+
async function collectAndPersistAiSettingsFromPromptResult(promptResult: any, providerModelsResult: IProviderModelsResult, aiSettingKeyPrefix: string): Promise<ICollectedAiSettings> {
122+
const providerId = providerModelsResult.modelLookup[promptResult.model].providerId;
123+
const modelId = providerModelsResult.modelLookup[promptResult.model].modelName;
124+
const thinkingLevel = promptResult.thinking;
125+
126+
const globalSettings = await userSettings.loadGlobalAsync();
127+
globalSettings.set(`${aiSettingKeyPrefix}.ModelId`, `${providerId}--${modelId}`);
128+
globalSettings.set(`${aiSettingKeyPrefix}.ThinkingLevel`, thinkingLevel);
129+
130+
return { providerId, modelId, thinkingLevel: thinkingLevel };
131+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
async function execute(taskId: string): Promise<void> {
2+
3+
const providerModelsResult = await getAiProviderModels();
4+
const settingName = "AI.AutoImplementation";
5+
6+
// Open a dialog for the user to enter an AI prompt
7+
let promptResult = await dialogService.openForm({
8+
title: "AI: Auto-Implement Handler for " + element.getName(),
9+
icon: Icons.AiImplement,
10+
fields: [
11+
{
12+
id: "prompt",
13+
fieldType: "textarea",
14+
label: "Provide any additional context",
15+
placeholder: "Leave blank if you wish to provide no additional context.",
16+
hint: "NOTE: Additional context will be combined with the Intent Architect auto-generated prompt to guide the AI Agent."
17+
},
18+
...await getAiModelSelectionFields(providerModelsResult, settingName)
19+
],
20+
submitButtonText: "Execute",
21+
minWidth: "750px"
22+
});
23+
24+
// Check if the user cancelled
25+
if (!promptResult) {
26+
return;
27+
}
28+
29+
const { providerId, modelId, thinkingLevel: thinkingLevel } = await collectAndPersistAiSettingsFromPromptResult(
30+
promptResult, providerModelsResult, settingName);
31+
32+
await launchHostedModuleTask(taskId,
33+
[
34+
application.id,
35+
element.id,
36+
promptResult.prompt ?? "",
37+
providerId,
38+
modelId,
39+
thinkingLevel
40+
],
41+
{
42+
taskName: "AI: Handler for " + element.getName()
43+
});
44+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
$tsconfig = Join-Path $PSScriptRoot 'tsconfig.json'
2+
tsc -p $tsconfig
3+
4+
if ($LASTEXITCODE -ne 0) {
5+
Write-Host "Exited early as build failed for $tsconfig"
6+
exit
7+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
class Icons {
2+
public static readonly AiImplement = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iYnJhY2tldF9zeW1ib2wtYmx1ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNDIuOSA0Mi45Ij4KICA8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMjkuNi4xLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogMi4xLjEgQnVpbGQgOSkgIC0tPgogIDxkZWZzPgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJsaW5lYXItZ3JhZGllbnQiIHgxPSItMTAwNjYuNyIgeTE9IjYyODEuNyIgeDI9Ii0xMDA2Ni43IiB5Mj0iNjI2My40IiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKC02MjYwIC0xMDAzOS4yKSByb3RhdGUoLTkwKSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNmZmYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIuNCIgc3RvcC1jb2xvcj0iIzA5YzRmZiIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwMDcwYzAiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImxpbmVhci1ncmFkaWVudDEiIHgxPSItMTM2NDQuNiIgeTE9IjE4MDIiIHgyPSItMTM2NDQuNiIgeTI9IjE3ODMuOSIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgtMTA4OTUuOSAtODM1MCkgcm90YXRlKC0xMzUpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2ZmZiIvPgogICAgICA8c3RvcCBvZmZzZXQ9Ii40IiBzdG9wLWNvbG9yPSIjMDljNGZmIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAwNzBjMCIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0ibGluZWFyLWdyYWRpZW50MiIgeDE9Ii0xMzAwNi42IiB5MT0iLTM4OTUuNCIgeDI9Ii0xMzAwNi42IiB5Mj0iLTM5MTMuNiIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgtMTI5NzkuMiAtMzg3Ny4yKSByb3RhdGUoLTE4MCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZmZmIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iLjQiIHN0b3AtY29sb3I9IiMwOWM0ZmYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDA3MGMwIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJsaW5lYXItZ3JhZGllbnQzIiB4MT0iLTg1MjcuMiIgeTE9Ii03NDczIiB4Mj0iLTg1MjcuMiIgeTI9Ii03NDkxLjIiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTExMjkwIDc1OC44KSByb3RhdGUoMTM1KSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNmZmYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIuNCIgc3RvcC1jb2xvcj0iIzA5YzRmZiIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwMDcwYzAiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImxpbmVhci1ncmFkaWVudDQiIHgxPSItMjgyOS41IiB5MT0iLTY4MzUuNCIgeDI9Ii0yODI5LjUiIHkyPSItNjg1My42IiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKC02ODE3LjEgMjg0Mi4xKSByb3RhdGUoOTApIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2ZmZiIvPgogICAgICA8c3RvcCBvZmZzZXQ9Ii40IiBzdG9wLWNvbG9yPSIjMDljNGZmIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAwNzBjMCIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0ibGluZWFyLWdyYWRpZW50NSIgeDE9Ijc0Ny45IiB5MT0iLTIzNTUuOCIgeDI9Ijc0Ny45IiB5Mj0iLTIzNzQiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIxODEuMiAxMTUyLjgpIHJvdGF0ZSg0NSkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZmZmIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iLjQiIHN0b3AtY29sb3I9IiMwOWM0ZmYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDA3MGMwIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJsaW5lYXItZ3JhZGllbnQ2IiB4MT0iMTEwLjUiIHkxPSIzMzQxLjciIHgyPSIxMTAuNSIgeTI9IjMzMjMuNCIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgtOTcuOSAtMzMyMCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZmZmIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iLjQiIHN0b3AtY29sb3I9IiMwOWM0ZmYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDA3MGMwIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJsaW5lYXItZ3JhZGllbnQ3IiB4MT0iLTQzNjkuNSIgeTE9IjY5MTkuMiIgeDI9Ii00MzY5LjUiIHkyPSI2OTAxLjEiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE3ODcuMiAtNzk1NS45KSByb3RhdGUoLTQ1KSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNmZmYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIuNCIgc3RvcC1jb2xvcj0iIzA5YzRmZiIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwMDcwYzAiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImxpbmVhci1ncmFkaWVudDgiIHgxPSIzMy4xIiB5MT0iMzEyMy43IiB4Mj0iMzMuMSIgeTI9IjMxNDIuMiIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgwIC0zMTA0KSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNmZWUwNGYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZjk5ZjIxIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJsaW5lYXItZ3JhZGllbnQ5IiB4MT0iMzMiIHkxPSIzMTIzLjciIHgyPSIzMyIgeTI9IjMxNDIuMiIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgwIC0zMTA0KSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNmZWUwNGYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZjk5ZjIxIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJsaW5lYXItZ3JhZGllbnQxMCIgeDE9IjMzLjEiIHkxPSIzMTIzLjciIHgyPSIzMy4xIiB5Mj0iMzE0Mi4yIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMxMDQpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2ZlZTA0ZiIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNmOTlmMjEiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImxpbmVhci1ncmFkaWVudDExIiB4MT0iMzMuMSIgeTE9IjMxMjMuMyIgeDI9IjMzLjEiIHkyPSIzMTQyLjIiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAtMzEwNCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZmVlMDRmIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2Y5OWYyMSIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICA8L2RlZnM+CiAgPHBhdGggZD0iTTIxLjcsMjEuN2MwLS40LjQsMy43LTEuNSw2LjgtMS44LDMuMS00LjEsNC03LjcsNC44LTIsLjUtMy4yLDAtNC44LS41LTIuMi0uNy0zLjMtMi41LTMuNy0zLjFzLS44LTEuOS0uNS0zLjJjLjUtMi4yLDItMy4zLDQtMy45LjQsMCwyLjItLjUsMy45LjRzMi4yLDEuNSwzLjcsMS45YzEuNS40LDMuMSwwLDMuNy0uNCwxLjctLjYsMi45LTIuNCwzLjEtMy4xdi4yaC0uMloiIGZpbGw9InVybCgjbGluZWFyLWdyYWRpZW50KSIvPgogIDxwYXRoIGQ9Ik0yMi40LDE5LjljLS4zLS4zLDIuOSwyLjQsMy43LDUuOHMuMiw1LjgtMiw4LjljLTEuMiwxLjgtMi4zLDIuNC0zLjgsMy4yLTIuMSwxLTQuMi42LTQuNy41cy0xLjktLjctMi42LTEuOWMtMS4xLTEuOS0xLTMuOCwwLTUuNi4zLS4zLDEuMS0xLjksMy0yLjUsMS44LS42LDIuNi0uNSw0LTEuM3MyLjEtMi4xLDIuNC0yLjljLjctMS43LjQtMy43LDAtNC4zaC4yLS4yWiIgZmlsbD0idXJsKCNsaW5lYXItZ3JhZGllbnQxKSIvPgogIDxwYXRoIGQ9Ik0yMS43LDE4LjNjLS40LDAsMy43LS40LDYuOCwxLjUsMy4xLDEuOCw0LjMsNCw0LjgsNy43LjQsMiwwLDMuMi0uNSw0LjgtLjcsMi4yLTIuNSwzLjMtMy4xLDMuN3MtMS45LjgtMy4yLjVjLTIuMi0uNS0zLjMtMi0zLjktNCwwLS40LS41LTIuMi40LTMuOXMxLjUtMi4yLDEuOS0zLjcsMC0zLjEtLjQtMy43Yy0uNi0xLjctMi40LTIuOS0zLjEtMy4xaC4ydi4yaC4xWiIgZmlsbD0idXJsKCNsaW5lYXItZ3JhZGllbnQyKSIvPgogIDxwYXRoIGQ9Ik0xOS45LDE3LjZjLS4zLjMsMi40LTIuOSw1LjgtMy43czUuOC0uMiw4LjksMmMxLjgsMS4yLDIuNCwyLjMsMy4yLDMuOCwxLDIuMS42LDQuMi41LDQuN3MtLjcsMS45LTEuOSwyLjZjLTEuOSwxLjEtMy44LDEtNS42LDAtLjMtLjMtMS45LTEuMS0yLjUtM3MtLjUtMi42LTEuMy00LTIuMS0yLjEtMi45LTIuNGMtMS43LS43LTMuNy0uNC00LjMsMGgwdi0uMmgwdi4ycy4xLDAsLjEsMFoiIGZpbGw9InVybCgjbGluZWFyLWdyYWRpZW50MykiLz4KICA8cGF0aCBkPSJNMTguMywxOC4zYzAsLjQtLjQtMy43LDEuNS02LjhzNC00LjMsNy43LTQuOGMyLS40LDMuMiwwLDQuOC41LDIuMi43LDMuMywyLjUsMy43LDMuMXMuOCwxLjkuNSwzLjJjLS41LDIuMi0yLDMuMy00LDMuOS0uNCwwLTIuMi41LTMuOS0uNHMtMi4yLTEuNS0zLjctMS45LTMuMSwwLTMuNy40Yy0xLjcuNi0yLjksMi40LTMuMSwzLjF2LS4yaC4yWiIgZmlsbD0idXJsKCNsaW5lYXItZ3JhZGllbnQ0KSIvPgogIDxwYXRoIGQ9Ik0xNy42LDE5LjljLjMuMy0yLjktMi40LTMuNy01LjhzLS4yLTUuOCwyLTguOWMxLjItMS44LDIuMy0yLjQsMy44LTMuMiwyLjEtMSw0LjItLjYsNC43LS41czEuOS43LDIuNiwxLjljMS4xLDEuOSwxLDMuOCwwLDUuNi0uMy4zLTEuMSwxLjktMywyLjVzLTIuNi41LTQsMS4zYy0xLjMuOC0yLjEsMi4xLTIuNCwyLjktLjcsMS43LS40LDMuNywwLDQuM2gtLjIuMiwwWiIgZmlsbD0idXJsKCNsaW5lYXItZ3JhZGllbnQ1KSIvPgogIDxwYXRoIGQ9Ik0xOC4zLDIxLjdjLjQsMC0zLjcuNC02LjgtMS41cy00LjMtNC00LjgtNy43Yy0uNC0yLDAtMy4yLjUtNC44LjctMi4yLDIuNS0zLjMsMy4xLTMuN3MxLjktLjgsMy4yLS41YzIuMi41LDMuMywyLDMuOSw0LDAsLjQuNSwyLjItLjQsMy45cy0xLjUsMi4yLTEuOSwzLjdjLS40LDEuNSwwLDMuMS40LDMuNy42LDEuNywyLjQsMi45LDMuMSwzLjFoLS4ydi0uMmgtLjFaIiBmaWxsPSJ1cmwoI2xpbmVhci1ncmFkaWVudDYpIi8+CiAgPHBhdGggZD0iTTE5LjksMjIuNGMuMy0uMy0yLjQsMi45LTUuOCwzLjdzLTUuOC4yLTguOS0yYy0xLjgtMS4yLTIuNC0yLjMtMy4yLTMuOC0xLTIuMS0uNi00LjItLjUtNC43cy43LTEuOSwxLjktMi42YzEuOS0xLjEsMy44LTEsNS42LDAsLjMuMywxLjksMS4xLDIuNSwzLC42LDEuOC41LDIuNiwxLjMsNCwuOCwxLjMsMi4xLDIuMSwyLjksMi40LDEuNy43LDMuNy40LDQuMywwaDB2LjJoMHYtLjJzLS4xLDAtLjEsMFoiIGZpbGw9InVybCgjbGluZWFyLWdyYWRpZW50NykiLz4KICA8cmVjdCB4PSIyNi40IiB5PSIxOS44IiB3aWR0aD0iNS40IiBoZWlnaHQ9IjkuMyIgZmlsbD0iI2ZmZiIvPgogIDxwYXRoIGQ9Ik00MC43LDIxLjJjLTEuOS00LjYtOC4zLTYuMi0xMi42LTMuMy0yLjksMi4xLTMuNyw0LjgtMyw4LC4zLDEuNiwxLjEsMi45LDIuMSw0LjEsMS4zLDEuNiwyLjIsMy4zLDIuNCw1LjQuMy44LjgsMSwxLjYsMWgzLjhjMS4xLDAsMS44LS41LDEuOC0xLjRzLjUtMi4xLDEtMi45Yy42LTEuMSwxLjYtMi4yLDIuMi0zLjUsMS40LTIuMiwxLjktNC44LjgtNy4zaDBaTTI5LjEsMjguN2MtLjIsMC0uMy0uMS0uNi0uNC0xLjgtMi4yLTItNC42LS45LTcuMi4zLS40LjYtLjYuOS0uNXMuMy4zLDAsLjhjLTEuMSwyLjEtLjksNCwuNCw1LjksMCwwLC4xLjIuMy41LjIuMy4yLjgtLjEuOWgwWiIgZmlsbD0idXJsKCNsaW5lYXItZ3JhZGllbnQ4KSIgc3Ryb2tlPSIjZmZmIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iLjgiLz4KICA8cGF0aCBkPSJNMzIuOCwzOS42aC0yLjFjLS41LDAtLjgtLjMtLjgtLjZzLjMtLjYuNi0uNmg1LjFjLjUsMCwuNi4zLjYuNnMtLjMuNi0uNi42aC0zLC4yWiIgZmlsbD0idXJsKCNsaW5lYXItZ3JhZGllbnQ5KSIgc3Ryb2tlPSIjZmZmIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iLjgiLz4KICA8cGF0aCBkPSJNMzYuMywzNy40YzAsLjUtLjMuNi0uNi42aC01LjFjLS41LDAtLjYsMC0uNi0uNnMuMy0uNi42LS42aDUuMWMuMywwLC42LDAsLjYuNloiIGZpbGw9InVybCgjbGluZWFyLWdyYWRpZW50MTApIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIuOCIvPgogIDxwYXRoIGQ9Ik0zNC4zLDQxLjFjLS42LjgtMi4zLjctMi42LS40LDAtLjUsMC0uNi4zLS42aDEuOWMuNiwwLC44LDAsLjUuOGgwdi4yaDBaIiBmaWxsPSJ1cmwoI2xpbmVhci1ncmFkaWVudDExKSIgc3Ryb2tlPSIjZmZmIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iLjgiLz4KPC9zdmc+";
3+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"compileOnSave": false,
3+
"compilerOptions": {
4+
"noImplicitAny": true,
5+
"noImplicitReturns": true,
6+
"outFile": "../resources/scripts/ai-implement.js",
7+
"removeComments": false,
8+
"sourceMap": false,
9+
"target": "ES2019",
10+
"types": []
11+
},
12+
"include": [
13+
"**/*",
14+
"../../TypescriptCore/*"
15+
],
16+
"exclude": []
17+
}

Modules/Intent.Modules.AI.AutoImplementation/Intent.AI.AutoImplementation.imodspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<package>
33
<id>Intent.AI.AutoImplementation</id>
4-
<version>1.0.0-beta.15</version>
4+
<version>1.0.0-beta.16</version>
55
<supportedClientVersions>[4.5.18-a,5.0.0)</supportedClientVersions>
66
<summary>AI auto-implementation of business logic capabilities for the Services designer. By default, uses Open AI and requires an API Key.</summary>
77
<description>AI auto-implementation of business logic capabilities for the Services designer. By default, uses Open AI and requires an API Key.</description>
@@ -14,7 +14,7 @@
1414
<moduleSettings></moduleSettings>
1515
<dependencies>
1616
<dependency id="Intent.Common" version="3.7.2" />
17-
<dependency id="Intent.Common.AI" version="1.0.0-beta.9" />
17+
<dependency id="Intent.Common.AI" version="1.0.0-beta.10" />
1818
<dependency id="Intent.Common.Types" version="3.4.0" />
1919
<dependency id="Intent.Modelers.Services" version="3.8.0" />
2020
<dependency id="Intent.Modelers.Services.CQRS" version="5.1.1" />

0 commit comments

Comments
 (0)