Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Copilot No. Series] Number series copilot #764

Open
wants to merge 63 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
44ac608
[DRAFT] Add No. Series Copilot app components and capabilities (witho…
DmitryKatson Mar 4, 2024
0e90f92
Changed page and table numbers
DmitryKatson Mar 5, 2024
398193b
[DRAFT] Adding Azure OpenAI Tools Calling API support
DmitryKatson Mar 6, 2024
535771e
[DRAFT] Refactor tool functions and processing, and update UI elements.
DmitryKatson Mar 8, 2024
ccb2680
Add ToolCalls to the chat message history
DmitryKatson Mar 8, 2024
38ff86e
Adding tools support from AI system module
DmitryKatson Mar 8, 2024
0d9569f
Add support of JSON mode
DmitryKatson Mar 9, 2024
573e296
[DRAFT] Add support for json output
DmitryKatson Mar 9, 2024
cb6917f
[DRAFT] Refactor tool invocation logic and update prompt formats
DmitryKatson Mar 10, 2024
48395f5
[DRAFT] Moving from GPT-4 to GPT-3.5 and refactor prompts
DmitryKatson Mar 11, 2024
229d542
Add Json functionality for working with JSON data
DmitryKatson Mar 11, 2024
13fcfc9
[DRAFT] Show generated No. Series in the prompt dialoge
DmitryKatson Mar 11, 2024
73e5041
Adding Area to the prompt so that copilot have better "feeling" on th…
DmitryKatson Mar 11, 2024
1cf9105
Tools message parsing and tool extraction logic
DmitryKatson Mar 11, 2024
2e4f32e
[DRAFT] Refactor tool parsing to utilize dedicated method
DmitryKatson Mar 11, 2024
b4662c2
Split tools responses into chunks and call each chunk individually, i…
DmitryKatson Mar 12, 2024
71676f7
[DRAFT] Refactor NoSeriesCopilotImpl to Chunk Tables Processing
DmitryKatson Mar 13, 2024
03187d0
[DRAFT] Refactor prompt generation code to retrieve tool 1 patterns a…
DmitryKatson Mar 13, 2024
a5e294b
[DRAFT] Tool 1 prompt refactoring for better speed
DmitryKatson Mar 13, 2024
40f548a
[DRAFT] Refactor JSON manipulation and introduce functionality to han…
DmitryKatson Mar 14, 2024
2360e7c
Refactor No. Series Copilot prompts
DmitryKatson Mar 15, 2024
e5d9fe5
Refactor JSON handling methods for improved readability and modularity
DmitryKatson Mar 15, 2024
0aea640
[DRAFT] Adding custom pattern instructions to the prompt
DmitryKatson Mar 15, 2024
debd0e5
Added a custom label to prompt list for user-defined number patterns.
DmitryKatson Mar 15, 2024
95cdbd0
Remove duplicate NoSeriesCopilotInstaller and wrong namespace from No…
DmitryKatson Mar 20, 2024
6461446
Implement scenario when user asks to generate number series for the s…
DmitryKatson Mar 21, 2024
bdf8bf8
Implemented scenario when user specified entity and pattern in the qu…
DmitryKatson Mar 21, 2024
6546377
New methods to work with existing number series tables.
DmitryKatson Mar 22, 2024
8387ea7
Merge branch 'microsoft:main' into Number-Series-Copilot
DmitryKatson Mar 22, 2024
5e56313
Merge branch 'microsoft:main' into Number-Series-Copilot
DmitryKatson Mar 25, 2024
f13948b
Filter No Series fields on the setup fields by the No Series rtable r…
DmitryKatson Mar 25, 2024
62170b1
Refactor system and tools prompts, implement tool selection retry log…
DmitryKatson Apr 1, 2024
b2fede8
Refactor error handling and prompt generation logic
DmitryKatson Apr 1, 2024
da1da9c
Update platform version, add instructional text, and modify prompt gu…
DmitryKatson Apr 2, 2024
6447fa1
Refactor No Series Proposal page to clarify actions and labels
DmitryKatson Apr 2, 2024
da6d9f4
Adding user prompts, placeholder and refactor custom patterns prompts.
DmitryKatson Apr 3, 2024
525be72
Enable editing of No Series Proposals: delete/modify
DmitryKatson Apr 3, 2024
8050a7e
Refactor tools calling into separate modules.
DmitryKatson Apr 3, 2024
c07ca62
Refactor prompt guide actions for clarity and consistency
DmitryKatson Apr 3, 2024
63f0770
Update action captions on the "No Series Proposal" page to use "Creat…
DmitryKatson Apr 12, 2024
874c138
Merge branch 'Number-Series-Copilot' of https://github.com/DmitryKats…
DmitryKatson Apr 18, 2024
7d65f55
Refactor codeunits: update codeunit number and redefine function
DmitryKatson Apr 18, 2024
3d0f9af
Refactor No Series Copilot to make compatable with the lateast AOAI m…
DmitryKatson Apr 19, 2024
111caf2
fix conditional compilation directive, as was not merged correctly
DmitryKatson Apr 19, 2024
39312b3
Refactor NoSeriesCopilot code to utilize GetNoSeriesSuggestions to en…
DmitryKatson Apr 19, 2024
79f87d2
Refactor code for dynamic removal of multiple text parts
DmitryKatson Apr 19, 2024
332eb95
Synch with PR #719
DmitryKatson May 1, 2024
3a9c538
Merge branch 'Number-Series-Copilot' of https://github.com/DmitryKats…
DmitryKatson May 1, 2024
07124f5
Fix CodeCop issues and some code review comments.
JesperSchulz Jun 20, 2024
2156136
Make build succeed.
JesperSchulz Jun 20, 2024
c2726e4
Merge branch 'microsoft:main' into Number-Series-Copilot
DmitryKatson Jul 1, 2024
89d64c8
Refactor tool prompt generation in No Series Copilot codeunit: use ad…
DmitryKatson Jul 4, 2024
2b2b4bf
Refactor notification handling and add chat completion error handling.
DmitryKatson Jul 5, 2024
21211e2
Refactor setup table retrieval and validation logic.
DmitryKatson Jul 5, 2024
4e99190
Solving casing warning
DmitryKatson Jul 5, 2024
094f75c
Add feature name label for Number Series with AI
DmitryKatson Jul 5, 2024
534327a
Refactor RandIntInRange function parameters
DmitryKatson Jul 5, 2024
5278711
Fix label casing and parameter names
DmitryKatson Jul 5, 2024
f50cbc0
Changed variable names
DmitryKatson Jul 5, 2024
6d3b89a
wait for the next AI call only if next exist. Exit as early as possible
DmitryKatson Jul 5, 2024
dfa953a
Resolved [NonDebuggable] and SecretText
DmitryKatson Jul 5, 2024
c97d811
Refine logic for removing last character in AreasText
DmitryKatson Jul 5, 2024
9f55606
Fix CodeCop issues.
JesperSchulz Jul 5, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -320,5 +320,9 @@ TestResults.xml
#Build files
*.al.bak

# Jupyter Notebook
*.ipynb_checkpoints
*.ipynb

# Exceptions
!src/System Application/Test/Extension Management/testArtifacts/*.app
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------

namespace Microsoft.Foundation.NoSeries;

permissionset 330 "No. Series Copilot - Objects"
{
Access = Internal;
Assignable = false;
Permissions =
codeunit "No. Series Cop. Add Intent"=X,
codeunit "No. Series Cop. Change Intent"=X,
codeunit "No. Series Cop. Tools Impl."=X,
codeunit "No. Series Copilot Impl."=X,
codeunit "No. Series Copilot Install"=X,
codeunit "No. Series Copilot Register"=X,
codeunit "No. Series Copilot Upgr. Tags"=X,
page "No. Series Copilot Setup"=X,
tabledata "No. Series Copilot Setup"=RIMD;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the *objects permission sets should not contain tabledata. These permissionsets exist as building blocks for those customers that do not use * = X in their permissionsets which means they need a way to run the internal objects, and this is it.
The tabledata permissions should be split by usage scenario, but the defaults we use are Read, View, Edit or Admin
where not all are required and we typically have Read + 1 or two more. Each subsequent level includes the previous. As some of these might seem ambiguous, here's how I see them:

Read = only r or R.
View = ability to directly view the data on screen but no direct edit ability (optional indirect imd).
Edit = direct edit on pages

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, this one is my bad. I had the permission set generated to please CodeCop, and then I accidentally checked in the permission set before actually getting this right. I will revisit the permissions!


}
Empty file.
52 changes: 52 additions & 0 deletions src/Business Foundation/App/NoSeriesCopilot/app.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
{
"id": "7efce506-def2-4195-9d1e-bc538e729242",
"name": "No. Series Copilot",
"publisher": "Microsoft",
"brief": "",
"description": "",
"version": "25.0.0.0",
"privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009",
"EULA": "https://go.microsoft.com/fwlink/?linkid=2009120",
"help": "https://go.microsoft.com/fwlink/?linkid=2103698",
"url": "https://go.microsoft.com/fwlink/?linkid=724011",
"logo": "",
"dependencies": [
{
"id": "63ca2fa4-4f03-4f2b-a480-172fef340d3f",
"name": "System Application",
"publisher": "Microsoft",
"version": "25.0.0.0"
},
{
"id": "d098b816-22fd-477f-9602-9122f5465527",
"name": "No. Series",
"publisher": "Microsoft",
"version": "25.0.0.0"
}
],
"internalsVisibleTo": [
],
"screenshots": [

],
"platform": "25.0.0.0",
"target": "OnPrem",
"idRanges": [
{
"from": 1,
"to": 9999
}
],
"features": [
"TranslationFile",
"GenerateCaptions",
"NoImplicitWith",
"NoPromotedActionProperties"
],
"resourceExposurePolicy": {
"allowDebugging": true,
"allowDownloadingSource": true,
"includeSourceInSymbolFile": true
},
"contextSensitiveHelpUrl": "https://learn.microsoft.com/dynamics365/business-central/"
}
Loading
Loading