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

Release #1004

Merged
merged 3 commits into from
Aug 15, 2024
Merged

Release #1004

Show file tree
Hide file tree
Changes from all commits
Commits
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
269 changes: 269 additions & 0 deletions images/walkthrough/ask-navie.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 13 additions & 0 deletions images/walkthrough/configure-backend.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/walkthrough/generate-and-apply.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
76 changes: 76 additions & 0 deletions images/walkthrough/light-bulb.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/walkthrough/record-appmaps.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
76 changes: 74 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -400,6 +400,78 @@
}
]
},
"walkthroughs": [
{
"id": "navie.walkthrough",
"title": "Get started with AppMap Navie",
"description": "Your AI software assistant to plan, implement, document and diagram code solutions",
"steps": [
{
"id": "Sign in",
"title": "Sign into AppMap",
"description": "Use the sidebar to sign into AppMap.\n[Open sidebar](command:appmap.views.signIn.focus)\nYou can sign in with an email address, a GitHub account or a GitLab account.",
"media": {
"image": "images/walkthrough/configure-backend.svg",
"altText": "AppMap logo hovering above AI sparkles"
},
"when": "appMap.showSignIn",
"completionEvents": [
"onContext:!appMap.showSignIn"
]
},
{
"id": "configure-backend",
"title": "Choose your preferred AI model",
"description": "By default, AppMap Navie provides an LLM service based on GPT-4o.\nYou can configure Navie to use the GitHub Copilot LLM, or use your own model or API key. [See the documentation for details](https://appmap.io/docs/navie/bring-your-own-model.html).",
"media": {
"image": "images/walkthrough/configure-backend.svg",
"altText": "AppMap logo hovering above AI sparkles"
},
"when": "!appMap.showSignIn"
},
{
"id": "explain-and-diagram",
"media": {
"image": "images/walkthrough/ask-navie.svg",
"altText": "a screenshot of Navie chat"
},
"title": "Get code explanations and diagrams",
"description": "Open Navie to chat interactively about your code. Ask for explanations and diagrams. Navie automatically finds and interprets the most relevant code, documentation, and runtime data traces.\n[Ask Navie AI](command:appmap.explain)\n**Tip**: Use __AppMap: Ask Navie AI__ from the command palette to quickly open Navie.",
"when": "!appMap.showSignIn"
},
{
"id": "troubleshoot-and-solve",
"media": {
"image": "images/walkthrough/generate-and-apply.png",
"altText": "a screenshot of Navie chat with @generate command and apply button"
},
"title": "Solve complex coding issues",
"description": "Use Navie commands like @plan, @generate, and @test to solve problems quickly. Use the Apply button on any code suggestion apply the code change to the file. \n[Ask Navie AI](command:appmap.explain)\n**Tip**: Use __AppMap: Ask Navie AI__ from the command palette to quickly open Navie.",
"when": "!appMap.showSignIn"
},
{
"id": "ask-about-selection",
"title": "Ask about specific code",
"description": "Select code in your editor, then open Navie to ask about that specific code.\n**Tip**: Use __AppMap: Ask Navie AI__ from the command palette to quickly open Navie.\nYou can also use the light bulb menu on a code selection to ask Navie about selected code.",
"media": {
"image": "images/walkthrough/light-bulb.svg",
"altText": "light bulb menu showing Ask Navie option"
},
"when": "!appMap.showSignIn"
},
{
"id": "create-data",
"title": "Extend Navie's knowledge with AppMap data",
"description": "Recording AppMap trace data provides Navie with deep knowledge of code execution. Navie can see, explain, describe and diagram runtime interactions like HTTP requests and SQL queries.\n[Create AppMap Data](command:appmap.openInstallGuide)\n**Tip:** Use AppMap sidebar to browse your AppMap trace data files.",
"media": {
"image": "images/walkthrough/record-appmaps.png",
"altText": "an illustration of AppMap sidebar and an open execution diagram"
},
"when": "!appMap.showSignIn"
}
]
}
],
"menus": {
"commandPalette": [
{
Expand Down Expand Up @@ -578,10 +650,10 @@
"dependencies": {
"@appland/appmap": "^3.129.0",
"@appland/client": "^1.14.1",
"@appland/components": "^4.31.0",
"@appland/components": "^4.32.1",
"@appland/diagrams": "^1.8.0",
"@appland/models": "^2.10.2",
"@appland/rpc": "^1.7.0",
"@appland/rpc": "^1.12.0",
"@appland/scanner": "^1.86.0",
"@appland/sequence-diagram": "^1.12.0",
"@yarnpkg/parsers": "^3.0.0-rc.45",
Expand Down
3 changes: 3 additions & 0 deletions src/services/signInManager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,5 +56,8 @@ export default class SignInManager {
this.contextKeyShowSignInWebview,
this.shouldShowSignIn()
);

if (!this.shouldShowSignIn())
vscode.commands.executeCommand('workbench.action.openWalkthrough', 'navie.walkthrough');
}
}
6 changes: 3 additions & 3 deletions test/integration/authentication/sidebarSignIn.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ describe('Sidebar sign-in', () => {
assert(!SignInManager.shouldShowSignIn());

expectedArgs = ['setContext', 'appMap.showSignIn', false];
assert.deepStrictEqual(stubbedExecuteCommand.getCall(1).args, expectedArgs);
assert.deepStrictEqual(stubbedExecuteCommand.getCall(2).args, expectedArgs);
});

it('is not shown for a new user who is authenticated, but is shown when they log out', async () => {
Expand All @@ -63,7 +63,7 @@ describe('Sidebar sign-in', () => {
assert(SignInManager.shouldShowSignIn());

expectedArgs = ['setContext', 'appMap.showSignIn', true];
assert.deepStrictEqual(stubbedExecuteCommand.getCall(1).args, expectedArgs);
assert.deepStrictEqual(stubbedExecuteCommand.getCall(2).args, expectedArgs);
});

it('is not shown for an existing user who is not authenticated and then logs in', async () => {
Expand All @@ -83,7 +83,7 @@ describe('Sidebar sign-in', () => {
assert(!SignInManager.shouldShowSignIn());

expectedArgs = ['setContext', 'appMap.showSignIn', false];
assert.deepStrictEqual(stubbedExecuteCommand.getCall(1).args, expectedArgs);
assert.deepStrictEqual(stubbedExecuteCommand.getCall(2).args, expectedArgs);
});

it('is shown for a new user who is not authenticated, but is not shown once they log in', async () => {
Expand Down
45 changes: 41 additions & 4 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ __metadata:
languageName: node
linkType: hard

"@appland/components@npm:^4.12.0, @appland/components@npm:^4.31.0":
"@appland/components@npm:^4.12.0":
version: 4.31.0
resolution: "@appland/components@npm:4.31.0"
dependencies:
Expand Down Expand Up @@ -181,6 +181,36 @@ __metadata:
languageName: node
linkType: hard

"@appland/components@npm:^4.32.1":
version: 4.32.1
resolution: "@appland/components@npm:4.32.1"
dependencies:
"@appland/client": ^1.12.0
"@appland/diagrams": ^1.7.0
"@appland/models": ^2.10.2
"@appland/rpc": ^1.12.0
"@appland/sequence-diagram": ^1.11.0
buffer: ^6.0.3
d3: ^7.8.4
d3-flame-graph: ^4.1.3
diff: ^5.1.0
dom-to-svg: ^0.12.2
dompurify: ^3.0.6
events: ^3.3.0
highlight.js: ^11.9.0
jayson: ^4.1.0
js-base64: ^3.7.7
marked: ^10.0.0
marked-highlight: ^2.0.7
mermaid: ^10.9.1
pako: ^2.1.0
sql-formatter: ^4.0.2
vue: ^2.7.14
vuex: ^3.6.0
checksum: f7f80339510f197d79adb19358870009d5dedbe17db00dcbfbd7c1a81d1b70dd4e8974b8a4d61ee834561451b40874e6a0ae00183af0a937038db6eb902e6f80
languageName: node
linkType: hard

"@appland/diagrams@npm:^1.7.0, @appland/diagrams@npm:^1.8.0":
version: 1.8.0
resolution: "@appland/diagrams@npm:1.8.0"
Expand Down Expand Up @@ -230,7 +260,14 @@ __metadata:
languageName: node
linkType: hard

"@appland/rpc@npm:^1.7.0, @appland/rpc@npm:^1.9.0":
"@appland/rpc@npm:^1.12.0":
version: 1.12.0
resolution: "@appland/rpc@npm:1.12.0"
checksum: 50f3d40cafeb5d815e791f45fd0aa69f893c880259f616ff18cd1ac99e6370aba2c380f4c1a109517efeb61853fe25fc603f5a8a761228581b7fff586dfd7e9f
languageName: node
linkType: hard

"@appland/rpc@npm:^1.9.0":
version: 1.10.0
resolution: "@appland/rpc@npm:1.10.0"
checksum: 6a063611d27bdeb8d1b7d47462e83850044acdbc469c4ccb5669378bdeba9e5271e783f8009e8b66be818b541f1589de47d1555dfa4155245920c9e3630b81f9
Expand Down Expand Up @@ -3239,10 +3276,10 @@ __metadata:
dependencies:
"@appland/appmap": ^3.129.0
"@appland/client": ^1.14.1
"@appland/components": ^4.31.0
"@appland/components": ^4.32.1
"@appland/diagrams": ^1.8.0
"@appland/models": ^2.10.2
"@appland/rpc": ^1.7.0
"@appland/rpc": ^1.12.0
"@appland/scanner": ^1.86.0
"@appland/sequence-diagram": ^1.12.0
"@playwright/test": ^1.22.2
Expand Down
Loading