@equinor/fusion-framework-cli-plugin-ai-chat 1.0.4 → 2.0.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/CHANGELOG.md CHANGED
@@ -1,5 +1,77 @@
1
1
  # @equinor/fusion-framework-cli-plugin-ai-chat
2
2
 
3
+ ## 2.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - abffa53: Major version bump for Fusion Framework React 19 release.
8
+
9
+ All packages are bumped to the next major version as part of the React 19 upgrade. This release drops support for React versions below 18 and includes breaking changes across the framework.
10
+
11
+ **Breaking changes:**
12
+ - Peer dependencies now require React 18 or 19 (`^18.0.0 || ^19.0.0`)
13
+ - React Router upgraded from v6 to v7
14
+ - Navigation module refactored with new history API
15
+ - `renderComponent` and `renderApp` now use `createRoot` API
16
+
17
+ **Migration:**
18
+ - Update your React version to 18.0.0 or higher before upgrading
19
+ - Replace `NavigationProvider.createRouter()` with `@equinor/fusion-framework-react-router`
20
+ - See individual package changelogs for package-specific migration steps
21
+
22
+ ### Patch Changes
23
+
24
+ - aaa3f74: fix(security): address undici multiple vulnerabilities (CVE-2026-1524, 1527, 1528, 2581)
25
+
26
+ Upgrade undici from 7.22.0 to 7.24.3 to fix multiple security vulnerabilities affecting WebSocket parsing, HTTP header validation, and request deduplication:
27
+ - **CVE-2026-1528** (HIGH): WebSocket 64-bit length integer overflow causing process crash
28
+ - **CVE-2026-1524** (MODERATE): HTTP/1.1 response field header injection
29
+ - **CVE-2026-1527** (MODERATE): CRLF injection via upgrade option enabling protocol smuggling
30
+ - **CVE-2026-2581** (MODERATE): Unbounded memory consumption in deduplication handler
31
+
32
+ These are non-breaking security patches that harden undici against untrusted upstream endpoints and malicious WebSocket frames.
33
+
34
+ **Advisories**: GHSA-f269-vfmq-vjvj, GHSA-v9p9-hfj2-hcw8, GHSA-4992-7rv2-5pvq, GHSA-phc3-fgpg-7m6h
35
+ **Fixed in**: undici 7.24.0+ (deployed 7.24.3)
36
+
37
+ - 3de232c: fix(cli): break turbo workspace cycle for AI plugins
38
+
39
+ Upgrade turbo from 2.8.10 to 2.8.14. This version introduces stricter workspace cycle detection, requiring the AI plugin dependencies to be moved from the CLI package's devDependencies to the root package.json.
40
+
41
+ The CLI plugins are now configured at the repository root (fusion-cli.config.ts) instead of in the packages/cli package, ensuring a clean workspace dependency graph for turbo's build scheduler.
42
+
43
+ This change has no impact on the published CLI package's public API. Plugins continue to be wired identically; only the source of the wire definition has changed.
44
+
45
+ Additional improvements from turbo 2.8.14:
46
+ - Fix: Ensures turbo watch mode respects task dependencies on first run
47
+ - Perf: Skip irrelevant packages for faster monorepo builds
48
+ - Feature: AI agent telemetry support in turbo traces
49
+
50
+ - Updated dependencies [abffa53]
51
+ - Updated dependencies [abffa53]
52
+ - Updated dependencies [abffa53]
53
+ - Updated dependencies [ae92f13]
54
+ - Updated dependencies [abffa53]
55
+ - Updated dependencies [c123c39]
56
+ - Updated dependencies [3de232c]
57
+ - Updated dependencies [32bcf83]
58
+ - @equinor/fusion-framework-cli@14.0.0
59
+ - @equinor/fusion-framework-cli-plugin-ai-base@2.0.0
60
+ - @equinor/fusion-framework-module@6.0.0
61
+ - @equinor/fusion-framework-module-ai@3.0.0
62
+
63
+ ## 1.0.5
64
+
65
+ ### Patch Changes
66
+
67
+ - [#4157](https://github.com/equinor/fusion-framework/pull/4157) [`6aa8e1f`](https://github.com/equinor/fusion-framework/commit/6aa8e1f5c9d852b25e97aa7d98a63008c64d4581) Thanks [@Noggling](https://github.com/Noggling)! - Internal: patch release to align TypeScript types across packages for consistent type compatibility.
68
+
69
+ - Updated dependencies [[`0a3a23c`](https://github.com/equinor/fusion-framework/commit/0a3a23c230778d64c23fa3008d59d80908d44f45), [`5cc81f5`](https://github.com/equinor/fusion-framework/commit/5cc81f58ad159f9308b1fe028f04629c407dac37), [`9d4d520`](https://github.com/equinor/fusion-framework/commit/9d4d520e9d3c3a3c4ef68a96952fbbc6f6d34720), [`40328c3`](https://github.com/equinor/fusion-framework/commit/40328c3a1489ad29c7bbc03fa283e1daa9a9ee2e), [`0dc5e05`](https://github.com/equinor/fusion-framework/commit/0dc5e058d4adb28ee72a1aac6dbdbc4da84741e9), [`6aa8e1f`](https://github.com/equinor/fusion-framework/commit/6aa8e1f5c9d852b25e97aa7d98a63008c64d4581)]:
70
+ - @equinor/fusion-framework-cli@13.3.16
71
+ - @equinor/fusion-framework-cli-plugin-ai-base@1.0.5
72
+ - @equinor/fusion-framework-module-ai@2.0.2
73
+ - @equinor/fusion-framework-module@5.0.6
74
+
3
75
  ## 1.0.4
4
76
 
5
77
  ### Patch Changes
@@ -42,7 +114,6 @@
42
114
  This plugin extends the Fusion Framework CLI with interactive chat capabilities using vector store context retrieval for enhanced, context-aware responses.
43
115
 
44
116
  **Features:**
45
-
46
117
  - Interactive conversation mode with readline interface
47
118
  - Real-time streaming responses from AI models
48
119
  - Intelligent message history compression using AI summarization
@@ -50,7 +121,6 @@
50
121
  - Configurable context and history limits
51
122
 
52
123
  **Quick Usage:**
53
-
54
124
  1. Install the plugin:
55
125
 
56
126
  ```sh
package/README.md CHANGED
@@ -1,112 +1,141 @@
1
1
  # @equinor/fusion-framework-cli-plugin-ai-chat
2
2
 
3
- AI chat plugin for Fusion Framework CLI providing interactive chat with AI models.
3
+ Interactive AI chat plugin for the Fusion Framework CLI (`ffc`). It adds the `ffc ai chat` command, which opens a readline-based conversation with an Azure OpenAI model, grounded in Fusion documentation retrieved from an Azure Cognitive Search vector store (Retrieval-Augmented Generation).
4
4
 
5
5
  > [!WARNING]
6
- > **WORK IN PROGRESS - CRUDE VERSION FOR TESTING**
7
- >
8
- > This plugin is currently a work-in-progress, crude version intended for testing the search index functionality. It is not production-ready and may have bugs, incomplete features, or breaking changes.
9
- >
10
- > - Use at your own risk
11
- > - API and behavior may change without notice
12
- > - Not recommended for production use
13
- > - Primarily for internal testing of vector store search capabilities
6
+ > **Work in progress** — API surface and behaviour may change without notice. Intended for internal testing of vector-store search capabilities; not recommended for production use.
14
7
 
15
- ## Installation
8
+ ## Who should use this
9
+
10
+ Developers and maintainers who want to ask natural-language questions about the Fusion Framework codebase from the terminal. The command augments LLM answers with context retrieved from an indexed documentation store, so responses are Fusion-specific rather than generic.
11
+
12
+ ## Quick start
13
+
14
+ ### Install the plugin
16
15
 
17
16
  ```sh
18
17
  pnpm add -D @equinor/fusion-framework-cli-plugin-ai-chat
19
18
  ```
20
19
 
21
- ## Configuration
22
-
23
- After installing the plugin, create a `fusion-cli.config.ts` file in your project root:
20
+ ### Register the plugin in `fusion-cli.config.ts`
24
21
 
25
- ```typescript
22
+ ```ts
26
23
  import { defineFusionCli } from '@equinor/fusion-framework-cli';
27
24
 
28
25
  export default defineFusionCli(() => ({
29
- plugins: [
30
- '@equinor/fusion-framework-cli-plugin-ai-chat',
31
- ],
26
+ plugins: ['@equinor/fusion-framework-cli-plugin-ai-chat'],
32
27
  }));
33
28
  ```
34
29
 
35
- The CLI will automatically discover and load plugins listed in this configuration file. The config file can be `.ts`, `.js`, or `.json`. The `defineFusionCli` helper provides type safety and IntelliSense support.
30
+ ### Start a chat session
31
+
32
+ ```sh
33
+ ffc ai chat \
34
+ --openai-chat-deployment gpt-4o \
35
+ --azure-search-endpoint https://my-search.search.windows.net \
36
+ --azure-search-index-name fusion-docs
37
+ ```
38
+
39
+ All flags can also be supplied as environment variables (see [Environment variables](#environment-variables) below).
40
+
41
+ ## Key concepts
42
+
43
+ ### Retrieval-Augmented Generation (RAG)
44
+
45
+ Every user message triggers a similarity search against the configured Azure Cognitive Search index. The top-_k_ documents are injected into a system prompt built by `createSystemMessage`, so the LLM prioritises Fusion-specific knowledge over general training data.
46
+
47
+ ### Conversation history compression
48
+
49
+ When the message history reaches **10 messages**, the oldest **5** are summarised into a single assistant message using an AI call. A hard cap (`--history-limit`, default **20**) drops the oldest non-summary messages if the history still exceeds the limit after compression.
50
+
51
+ ### LangChain chain pipeline
52
+
53
+ The command constructs a `RunnableSequence` from `@langchain/core`:
54
+
55
+ 1. **Format prompt** — retrieves context, builds the system message, and assembles the `ChatMessage[]` array.
56
+ 2. **Chat model** — invokes the Azure OpenAI chat deployment.
57
+ 3. **String output parser** — extracts the streamed text for display.
36
58
 
37
- ## Features
59
+ ## API surface
38
60
 
39
- This plugin extends the Fusion Framework CLI with AI chat capabilities:
61
+ | Export | Module | Description |
62
+ |---|---|---|
63
+ | `registerChatPlugin` | `index.ts` | Registers the `ai chat` command on a Commander program. Default export. |
64
+ | `command` | `chat.ts` | Pre-configured Commander `Command` with all AI and chat-specific options. |
65
+ | `createSystemMessage` | `system-message-template.ts` | Builds the RAG system prompt from retrieved context. |
66
+ | `version` | `version.ts` | Auto-generated package version string. |
40
67
 
41
- - **Interactive chat** with AI models
42
- - Real-time streaming responses
43
- - Intelligent message history compression
44
- - Vector store context retrieval for enhanced responses
68
+ ## Command reference `ffc ai chat`
45
69
 
46
- ## Usage
70
+ ### Options
47
71
 
48
- Once installed, the chat command is automatically available:
72
+ | Flag | Default | Description |
73
+ |---|---|---|
74
+ | `--openai-api-key <key>` | — | API key for Azure OpenAI |
75
+ | `--openai-api-version <version>` | `2024-02-15-preview` | Azure OpenAI API version |
76
+ | `--openai-instance <name>` | — | Azure OpenAI instance name |
77
+ | `--openai-chat-deployment <name>` | — | Chat model deployment name (**required**) |
78
+ | `--openai-embedding-deployment <name>` | — | Embedding deployment name |
79
+ | `--azure-search-endpoint <url>` | — | Azure Cognitive Search endpoint (**required**) |
80
+ | `--azure-search-api-key <key>` | — | Azure Cognitive Search API key (**required**) |
81
+ | `--azure-search-index-name <name>` | — | Search index name (**required**) |
82
+ | `--context-limit <number>` | `5` | Maximum context documents to retrieve per message |
83
+ | `--history-limit <number>` | `20` | Maximum messages before compression kicks in |
84
+ | `--verbose` | `false` | Print retrieval diagnostics and chain execution details |
85
+
86
+ ### Environment variables
87
+
88
+ Every CLI flag has an equivalent environment variable:
89
+
90
+ | Variable | Maps to |
91
+ |---|---|
92
+ | `AZURE_OPENAI_API_KEY` | `--openai-api-key` |
93
+ | `AZURE_OPENAI_API_VERSION` | `--openai-api-version` |
94
+ | `AZURE_OPENAI_INSTANCE_NAME` | `--openai-instance` |
95
+ | `AZURE_OPENAI_CHAT_DEPLOYMENT_NAME` | `--openai-chat-deployment` |
96
+ | `AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME` | `--openai-embedding-deployment` |
97
+ | `AZURE_SEARCH_ENDPOINT` | `--azure-search-endpoint` |
98
+ | `AZURE_SEARCH_API_KEY` | `--azure-search-api-key` |
99
+ | `AZURE_SEARCH_INDEX_NAME` | `--azure-search-index-name` |
100
+
101
+ ### Interactive commands
102
+
103
+ | Input | Effect |
104
+ |---|---|
105
+ | `clear` | Clears conversation history |
106
+ | `Ctrl+C` | Exits immediately |
107
+
108
+ ## Common patterns
109
+
110
+ ### Run with environment variables only
49
111
 
50
112
  ```sh
51
- # Interactive chat with AI models
113
+ export AZURE_OPENAI_API_KEY="..."
114
+ export AZURE_OPENAI_CHAT_DEPLOYMENT_NAME="gpt-4o"
115
+ export AZURE_SEARCH_ENDPOINT="https://my-search.search.windows.net"
116
+ export AZURE_SEARCH_API_KEY="..."
117
+ export AZURE_SEARCH_INDEX_NAME="fusion-docs"
118
+
52
119
  ffc ai chat
53
120
  ```
54
121
 
55
- ## Commands
56
-
57
- ### `ai chat`
58
-
59
- Interactive chat with Large Language Models using readline for a smooth CLI experience. Enhanced with vector store context retrieval for more accurate and relevant responses.
60
-
61
- **Features:**
62
- - Interactive conversation mode
63
- - Real-time streaming responses from AI models
64
- - Intelligent message history compression using AI summarization
65
- - Automatic vector store context retrieval for enhanced responses
66
- - Special commands: clear (clear conversation history)
67
- - Support for Azure OpenAI models and Azure Cognitive Search
68
- - Live typing effect for AI responses
69
- - Configurable context retrieval limits
70
-
71
- **Options:**
72
- - `--openai-api-key <key>` - API key for Azure OpenAI
73
- - `--openai-api-version <version>` - API version (default: 2024-02-15-preview)
74
- - `--openai-instance <name>` - Azure OpenAI instance name
75
- - `--openai-chat-deployment <name>` - Azure OpenAI chat deployment name (required)
76
- - `--openai-embedding-deployment <name>` - Azure OpenAI embedding deployment name
77
- - `--azure-search-endpoint <url>` - Azure Search endpoint URL (required)
78
- - `--azure-search-api-key <key>` - Azure Search API key (required)
79
- - `--azure-search-index-name <name>` - Azure Search index name (required)
80
- - `--context-limit <number>` - Max context documents to retrieve (default: 5)
81
- - `--history-limit <number>` - Max messages to keep in conversation history (default: 20, auto-compresses at 10)
82
- - `--verbose` - Enable verbose output
83
-
84
- **Environment Variables:**
85
- All options can be provided via environment variables:
86
- - `AZURE_OPENAI_API_KEY` - API key for Azure OpenAI
87
- - `AZURE_OPENAI_API_VERSION` - API version
88
- - `AZURE_OPENAI_INSTANCE_NAME` - Instance name
89
- - `AZURE_OPENAI_CHAT_DEPLOYMENT_NAME` - Chat deployment name
90
- - `AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME` - Embedding deployment name
91
- - `AZURE_SEARCH_ENDPOINT` - Azure Search endpoint
92
- - `AZURE_SEARCH_API_KEY` - Azure Search API key
93
- - `AZURE_SEARCH_INDEX_NAME` - Azure Search index name
94
-
95
- **Interactive Commands:**
96
- - `clear` - Clear conversation history
97
- - `Ctrl+C` - Exit immediately
98
-
99
- **Examples:**
122
+ ### Retrieve more context per query
123
+
100
124
  ```sh
101
- $ ffc ai chat
102
- $ ffc ai chat --context-limit 10
103
- $ ffc ai chat --history-limit 100
104
- $ ffc ai chat --verbose --azure-search-endpoint https://my-search.search.windows.net
125
+ ffc ai chat --context-limit 10
105
126
  ```
106
127
 
107
- ## Configuration
128
+ ### Keep a longer conversation history
129
+
130
+ ```sh
131
+ ffc ai chat --history-limit 50
132
+ ```
108
133
 
109
- The plugin requires Azure OpenAI and Azure Cognitive Search configuration. See the main CLI documentation for details on setting up API keys and endpoints.
134
+ ### Debug retrieval and chain execution
135
+
136
+ ```sh
137
+ ffc ai chat --verbose
138
+ ```
110
139
 
111
140
  ## License
112
141
 
package/dist/esm/chat.js CHANGED
@@ -282,8 +282,18 @@ Summary:`;
282
282
  }
283
283
  });
284
284
  /**
285
- * CLI command for interactive chat with AI models.
286
- * Enhanced with AI options including chat, embedding, and search capabilities.
285
+ * Fully configured Commander command for `ffc ai chat`.
286
+ *
287
+ * Wraps the base `_command` with shared AI options (chat, embedding, and
288
+ * search) from `@equinor/fusion-framework-cli-plugin-ai-base` via
289
+ * {@link withAiOptions}. This is the value imported by
290
+ * {@link registerChatPlugin} when mounting the command onto the CLI tree.
291
+ *
292
+ * @example
293
+ * ```ts
294
+ * import { command } from '@equinor/fusion-framework-cli-plugin-ai-chat/chat';
295
+ * program.addCommand(command);
296
+ * ```
287
297
  */
288
298
  export const command = withAiOptions(_command, {
289
299
  includeChat: true,
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/chat.ts"],"names":[],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -1,8 +1,21 @@
1
1
  import { registerAiPlugin } from '@equinor/fusion-framework-cli-plugin-ai-base';
2
2
  import { command as chatCommand } from './chat.js';
3
3
  /**
4
- * Registers the AI chat plugin command with the CLI program
5
- * @param program - The Commander program instance to register commands with
4
+ * Registers the `ai chat` CLI plugin command with the Fusion Framework CLI program.
5
+ *
6
+ * Call this function from a CLI plugin entry point to add the interactive
7
+ * AI chat command (`ffc ai chat`) to the CLI command tree. The function
8
+ * delegates to {@link registerAiPlugin} from `@equinor/fusion-framework-cli-plugin-ai-base`
9
+ * to wire up shared AI options (Azure OpenAI, Azure Cognitive Search) and
10
+ * attach the chat-specific sub-command.
11
+ *
12
+ * @param program - The root `Commander` {@link Command} instance that owns the CLI command tree
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { registerChatPlugin } from '@equinor/fusion-framework-cli-plugin-ai-chat';
17
+ * registerChatPlugin(program);
18
+ * ```
6
19
  */
7
20
  export function registerChatPlugin(program) {
8
21
  registerAiPlugin(program, chatCommand);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AAEnD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACzC,CAAC;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AAEnD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACzC,CAAC;AAED,eAAe,kBAAkB,CAAC"}
@@ -1,11 +1,28 @@
1
1
  /**
2
- * System message template for FUSION framework chat assistant
2
+ * Creates the system message prompt for the Fusion Framework AI chat assistant.
3
3
  *
4
- * This template emphasizes using FUSION knowledge from the provided context
5
- * to provide accurate and comprehensive answers about the FUSION framework.
4
+ * Builds a system-role message that instructs the LLM to prioritise
5
+ * Fusion-specific knowledge from the provided RAG context. The returned
6
+ * string is used as the first message in the chat completion request so the
7
+ * model grounds its answers in retrieved Fusion documentation, code examples,
8
+ * and API references.
6
9
  *
7
- * @param context - The retrieved context from the vector store containing FUSION knowledge
8
- * @returns Formatted system message string for the AI chat assistant
10
+ * Use this when constructing the message array for an Azure OpenAI chat
11
+ * completion call inside the `ai chat` command.
12
+ *
13
+ * @param context - Concatenated page content retrieved from the Azure Cognitive Search
14
+ * vector store. Each document's text is joined with newlines before being passed here.
15
+ * @returns A formatted system message string ready to be used as the `content` of a
16
+ * `ChatMessage` with `role: 'system'`.
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * const systemMsg = createSystemMessage(retrievedDocs);
21
+ * const messages: ChatMessage[] = [
22
+ * { role: 'system', content: systemMsg },
23
+ * { role: 'user', content: userQuestion },
24
+ * ];
25
+ * ```
9
26
  */
10
27
  export function createSystemMessage(context) {
11
28
  return `You are a helpful assistant specialized in the FUSION framework. Your primary goal is to use FUSION knowledge from the provided context to answer questions accurately and comprehensively.
@@ -1 +1 @@
1
- {"version":3,"file":"system-message-template.js","sourceRoot":"","sources":["../../src/system-message-template.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO;;;;;;;;;;EAUP,OAAO;;2JAEkJ,CAAC;AAC5J,CAAC"}
1
+ {"version":3,"file":"system-message-template.js","sourceRoot":"","sources":["../../src/system-message-template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO;;;;;;;;;;EAUP,OAAO;;2JAEkJ,CAAC;AAC5J,CAAC"}
@@ -1,3 +1,3 @@
1
1
  // Generated by genversion.
2
- export const version = '1.0.4';
2
+ export const version = '2.0.0';
3
3
  //# sourceMappingURL=version.js.map