Skip to content

Commit e5fa9a7

Browse files
committed
refactor: ai plugin
1 parent df49a47 commit e5fa9a7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+958
-151
lines changed

apps/website/docs/api-reference/ai/classes/ai-context.mdx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
1313

1414
## AiContext
1515

16-
<GenerationInfo sourceFile="packages/ai/src/context.ts" sourceLine="17" packageName="@commandkit/ai" />
16+
<GenerationInfo sourceFile="packages/ai/src/context.ts" sourceLine="29" packageName="@commandkit/ai" />
1717

1818
Represents the context in which an AI command is executed.
1919
This includes the parameters passed to the command, the message that triggered it,
@@ -25,6 +25,7 @@ class AiContext<T extends Record<string, unknown> = Record<string, unknown>> {
2525
public message!: Message;
2626
public client!: Client;
2727
public commandkit!: CommandKit;
28+
public store = new Map<string, any>();
2829
constructor(options: AiContextOptions<T>)
2930
setParams(params: T) => void;
3031
}
@@ -52,6 +53,11 @@ The client instance associated with the AI command.
5253
<MemberInfo kind="property" type={`<a href='/docs/next/api-reference/commandkit/classes/command-kit#commandkit'>CommandKit</a>`} />
5354

5455
The CommandKit instance associated with the AI command.
56+
### store
57+
58+
<MemberInfo kind="property" type={``} />
59+
60+
A key-value store to hold additional data.
5561
### constructor
5662

5763
<MemberInfo kind="method" type={`(options: <a href='/docs/next/api-reference/ai/interfaces/ai-context-options#aicontextoptions'>AiContextOptions</a>&#60;T&#62;) => AiContext`} />

apps/website/docs/api-reference/ai/classes/ai-plugin.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
1313

1414
## AiPlugin
1515

16-
<GenerationInfo sourceFile="packages/ai/src/plugin.ts" sourceLine="78" packageName="@commandkit/ai" />
16+
<GenerationInfo sourceFile="packages/ai/src/plugin.ts" sourceLine="38" packageName="@commandkit/ai" />
1717

1818

1919

@@ -23,7 +23,7 @@ class AiPlugin extends RuntimePlugin<AiPluginOptions> {
2323
constructor(options: AiPluginOptions)
2424
activate(ctx: CommandKitPluginRuntime) => Promise<void>;
2525
deactivate(ctx: CommandKitPluginRuntime) => Promise<void>;
26-
onBeforeCommandsLoad(ctx: CommandKitPluginRuntime) => Promise<void>;
26+
onBeforeCommandsLoad() => Promise<void>;
2727
onAfterCommandsLoad(ctx: CommandKitPluginRuntime) => Promise<void>;
2828
}
2929
```
@@ -55,7 +55,7 @@ class AiPlugin extends RuntimePlugin<AiPluginOptions> {
5555

5656
### onBeforeCommandsLoad
5757

58-
<MemberInfo kind="method" type={`(ctx: <a href='/docs/next/api-reference/commandkit/classes/command-kit-plugin-runtime#commandkitpluginruntime'>CommandKitPluginRuntime</a>) => Promise&#60;void&#62;`} />
58+
<MemberInfo kind="method" type={`() => Promise&#60;void&#62;`} />
5959

6060

6161
### onAfterCommandsLoad

apps/website/docs/api-reference/ai/functions/ai.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
1313

1414
## ai
1515

16-
<GenerationInfo sourceFile="packages/ai/src/index.ts" sourceLine="9" packageName="@commandkit/ai" />
16+
<GenerationInfo sourceFile="packages/ai/src/index.ts" sourceLine="18" packageName="@commandkit/ai" />
1717

1818
Defines the AI plugin for the application.
1919

apps/website/docs/api-reference/ai/functions/configure-ai.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
1313

1414
## configureAI
1515

16-
<GenerationInfo sourceFile="packages/ai/src/plugin.ts" sourceLine="64" packageName="@commandkit/ai" />
16+
<GenerationInfo sourceFile="packages/ai/src/configure.ts" sourceLine="128" packageName="@commandkit/ai" />
1717

1818
Configures the AI plugin with the provided options.
1919
This function allows you to set a message filter, select an AI model, and generate a system prompt.
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
title: "CreateTool"
3+
isDefaultIndex: false
4+
generated: true
5+
---
6+
7+
import MemberInfo from '@site/src/components/MemberInfo';
8+
import GenerationInfo from '@site/src/components/GenerationInfo';
9+
import MemberDescription from '@site/src/components/MemberDescription';
10+
11+
<!-- This file was generated from the CommandKit source. Do not modify. Instead, re-run the "docgen" script -->
12+
13+
14+
## createTool
15+
16+
<GenerationInfo sourceFile="packages/ai/src/tools/common/index.ts" sourceLine="88" packageName="@commandkit/ai" />
17+
18+
Creates a new AI tool with the specified configuration.
19+
This function wraps the underlying AI library's tool creation with additional
20+
context management and parameter validation.
21+
22+
23+
24+
*Example*
25+
26+
```typescript
27+
const myTool = createTool({
28+
name: 'calculate',
29+
description: 'Performs basic arithmetic calculations',
30+
parameters: z.object({
31+
operation: z.enum(['add', 'subtract']),
32+
a: z.number(),
33+
b: z.number(),
34+
}),
35+
execute: async (ctx, params) => {
36+
return params.operation === 'add'
37+
? params.a + params.b
38+
: params.a - params.b;
39+
},
40+
});
41+
```
42+
43+
```ts title="Signature"
44+
function createTool<T extends ToolParameterType, R = unknown>(options: CreateToolOptions<T, R>): void
45+
```
46+
Parameters
47+
48+
### options
49+
50+
<MemberInfo kind="parameter" type={`<a href='/docs/next/api-reference/ai/interfaces/create-tool-options#createtooloptions'>CreateToolOptions</a>&#60;T, R&#62;`} />
51+
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
title: "GetAIConfig"
3+
isDefaultIndex: false
4+
generated: true
5+
---
6+
7+
import MemberInfo from '@site/src/components/MemberInfo';
8+
import GenerationInfo from '@site/src/components/GenerationInfo';
9+
import MemberDescription from '@site/src/components/MemberDescription';
10+
11+
<!-- This file was generated from the CommandKit source. Do not modify. Instead, re-run the "docgen" script -->
12+
13+
14+
## getAIConfig
15+
16+
<GenerationInfo sourceFile="packages/ai/src/configure.ts" sourceLine="119" packageName="@commandkit/ai" />
17+
18+
Retrieves the current AI configuration.
19+
20+
```ts title="Signature"
21+
function getAIConfig(): Required<ConfigureAI>
22+
```
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
title: "UseAIContext"
3+
isDefaultIndex: false
4+
generated: true
5+
---
6+
7+
import MemberInfo from '@site/src/components/MemberInfo';
8+
import GenerationInfo from '@site/src/components/GenerationInfo';
9+
import MemberDescription from '@site/src/components/MemberDescription';
10+
11+
<!-- This file was generated from the CommandKit source. Do not modify. Instead, re-run the "docgen" script -->
12+
13+
14+
## useAIContext
15+
16+
<GenerationInfo sourceFile="packages/ai/src/index.ts" sourceLine="8" packageName="@commandkit/ai" />
17+
18+
Retrieves the AI context.
19+
20+
```ts title="Signature"
21+
function useAIContext(): void
22+
```

apps/website/docs/api-reference/ai/interfaces/ai-config.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
1313

1414
## AiConfig
1515

16-
<GenerationInfo sourceFile="packages/ai/src/plugin.ts" sourceLine="22" packageName="@commandkit/ai" />
16+
<GenerationInfo sourceFile="packages/ai/src/plugin.ts" sourceLine="19" packageName="@commandkit/ai" />
1717

1818
Represents the configuration options for the AI plugin scoped to a specific command.
1919

apps/website/docs/api-reference/ai/interfaces/ai-context-options.mdx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ import MemberDescription from '@site/src/components/MemberDescription';
1313

1414
## AiContextOptions
1515

16-
<GenerationInfo sourceFile="packages/ai/src/context.ts" sourceLine="4" packageName="@commandkit/ai" />
17-
16+
<GenerationInfo sourceFile="packages/ai/src/context.ts" sourceLine="7" packageName="@commandkit/ai" />
1817

18+
Options for the AI context.
1919

2020
```ts title="Signature"
2121
interface AiContextOptions<T extends Record<string, unknown> = Record<string, unknown>> {
@@ -31,17 +31,17 @@ interface AiContextOptions<T extends Record<string, unknown> = Record<string, un
3131

3232
<MemberInfo kind="property" type={`Message`} />
3333

34-
34+
The message that triggered the AI command.
3535
### params
3636

3737
<MemberInfo kind="property" type={`T`} />
3838

39-
39+
The parameters passed to the AI command.
4040
### commandkit
4141

4242
<MemberInfo kind="property" type={`<a href='/docs/next/api-reference/commandkit/classes/command-kit#commandkit'>CommandKit</a>`} />
4343

44-
44+
The CommandKit instance associated with the AI command.
4545

4646

4747
</div>

apps/website/docs/api-reference/ai/interfaces/ai-plugin-options.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
1313

1414
## AiPluginOptions
1515

16-
<GenerationInfo sourceFile="packages/ai/src/types.ts" sourceLine="33" packageName="@commandkit/ai" />
16+
<GenerationInfo sourceFile="packages/ai/src/types.ts" sourceLine="43" packageName="@commandkit/ai" />
1717

1818
Options for the AI plugin.
1919

0 commit comments

Comments
 (0)