-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathpackage-info.java
More file actions
95 lines (94 loc) · 3.9 KB
/
package-info.java
File metadata and controls
95 lines (94 loc) · 3.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
*--------------------------------------------------------------------------------------------*/
/**
* Configuration classes and data transfer objects for the Copilot SDK.
*
* <p>
* This package contains all the configuration, request, response, and data
* transfer objects used throughout the SDK. These classes are designed for JSON
* serialization with Jackson and provide fluent setter methods for convenient
* configuration.
*
* <h2>Client Configuration</h2>
* <ul>
* <li>{@link com.github.copilot.sdk.json.CopilotClientOptions} - Options for
* configuring the {@link com.github.copilot.sdk.CopilotClient}, including CLI
* path, port, transport mode, and auto-start behavior.</li>
* </ul>
*
* <h2>Session Configuration</h2>
* <ul>
* <li>{@link com.github.copilot.sdk.json.SessionConfig} - Configuration for
* creating a new session, including model selection, tools, system message, and
* MCP server configuration.</li>
* <li>{@link com.github.copilot.sdk.json.ResumeSessionConfig} - Configuration
* for resuming an existing session.</li>
* <li>{@link com.github.copilot.sdk.json.InfiniteSessionConfig} - Configuration
* for infinite sessions with automatic context compaction.</li>
* <li>{@link com.github.copilot.sdk.json.SystemMessageConfig} - System message
* customization options.</li>
* </ul>
*
* <h2>Message and Tool Configuration</h2>
* <ul>
* <li>{@link com.github.copilot.sdk.json.MessageOptions} - Options for sending
* messages, including prompt text and attachments.</li>
* <li>{@link com.github.copilot.sdk.json.ToolDefinition} - Definition of a
* custom tool that can be invoked by the assistant.</li>
* <li>{@link com.github.copilot.sdk.json.ToolInvocation} - Represents a tool
* invocation request from the assistant.</li>
* <li>{@link com.github.copilot.sdk.json.Attachment} - File attachment for
* messages.</li>
* </ul>
*
* <h2>Provider Configuration (BYOK)</h2>
* <ul>
* <li>{@link com.github.copilot.sdk.json.ProviderConfig} - Configuration for
* using your own API keys with custom providers (OpenAI, Azure, etc.).</li>
* <li>{@link com.github.copilot.sdk.json.AzureOptions} - Azure-specific
* configuration options.</li>
* </ul>
*
* <h2>Model Information</h2>
* <ul>
* <li>{@link com.github.copilot.sdk.json.ModelInfo} - Information about an
* available AI model.</li>
* <li>{@link com.github.copilot.sdk.json.ModelCapabilities} - Model
* capabilities and limits.</li>
* <li>{@link com.github.copilot.sdk.json.ModelPolicy} - Model policy and state
* information.</li>
* </ul>
*
* <h2>Custom Agents</h2>
* <ul>
* <li>{@link com.github.copilot.sdk.json.CustomAgentConfig} - Configuration for
* custom agents with specialized behaviors and tools.</li>
* </ul>
*
* <h2>Permissions</h2>
* <ul>
* <li>{@link com.github.copilot.sdk.json.PermissionHandler} - Handler for
* permission requests from the assistant.</li>
* <li>{@link com.github.copilot.sdk.json.PermissionRequest} - A permission
* request from the assistant.</li>
* <li>{@link com.github.copilot.sdk.json.PermissionRequestResult} - Result of a
* permission request decision.</li>
* </ul>
*
* <h2>Usage Example</h2>
*
* <pre>{@code
* var config = new SessionConfig().setModel("gpt-4.1").setStreaming(true)
* .setSystemMessage(new SystemMessageConfig().setMode(SystemMessageMode.APPEND)
* .setContent("Be concise in your responses."))
* .setTools(List.of(ToolDefinition.create("my_tool", "Description", schema, handler)));
*
* var session = client.createSession(config).get();
* }</pre>
*
* @see com.github.copilot.sdk.CopilotClient
* @see com.github.copilot.sdk.CopilotSession
*/
@edu.umd.cs.findbugs.annotations.SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "DTOs for JSON deserialization - low risk")
package com.github.copilot.sdk.json;