copilotkit 0.0.39 → 0.0.41

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.
Files changed (36) hide show
  1. package/dist/commands/base-command.js +1 -1
  2. package/dist/commands/base-command.js.map +1 -1
  3. package/dist/commands/dev.js +1 -1
  4. package/dist/commands/dev.js.map +1 -1
  5. package/dist/commands/init.d.ts +2 -0
  6. package/dist/commands/init.js +332 -118
  7. package/dist/commands/init.js.map +1 -1
  8. package/dist/commands/login.js +1 -1
  9. package/dist/commands/login.js.map +1 -1
  10. package/dist/commands/logout.js +1 -1
  11. package/dist/commands/logout.js.map +1 -1
  12. package/dist/lib/init/ide-docs.d.ts +25 -0
  13. package/dist/lib/init/ide-docs.js +156 -0
  14. package/dist/lib/init/ide-docs.js.map +1 -0
  15. package/dist/lib/init/index.d.ts +3 -1
  16. package/dist/lib/init/index.js +267 -69
  17. package/dist/lib/init/index.js.map +1 -1
  18. package/dist/lib/init/questions.js +117 -6
  19. package/dist/lib/init/questions.js.map +1 -1
  20. package/dist/lib/init/scaffold/env.js +10 -3
  21. package/dist/lib/init/scaffold/env.js.map +1 -1
  22. package/dist/lib/init/scaffold/index.js +15 -6
  23. package/dist/lib/init/scaffold/index.js.map +1 -1
  24. package/dist/lib/init/scaffold/shadcn.js +12 -3
  25. package/dist/lib/init/scaffold/shadcn.js.map +1 -1
  26. package/dist/lib/init/types/index.d.ts +1 -1
  27. package/dist/lib/init/types/index.js +13 -3
  28. package/dist/lib/init/types/index.js.map +1 -1
  29. package/dist/lib/init/types/questions.d.ts +33 -13
  30. package/dist/lib/init/types/questions.js +13 -3
  31. package/dist/lib/init/types/questions.js.map +1 -1
  32. package/dist/utils/version.d.ts +1 -1
  33. package/dist/utils/version.js +1 -1
  34. package/dist/utils/version.js.map +1 -1
  35. package/oclif.manifest.json +26 -1
  36. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import * as _oclif_core_interfaces from '@oclif/core/interfaces';
2
2
  import { z } from 'zod';
3
3
 
4
- declare const MODES: readonly ["LangGraph", "CrewAI", "Mastra", "AG2", "MCP", "Standard"];
4
+ declare const MODES: readonly ["LangGraph", "CrewAI", "Mastra", "LlamaIndex", "Agno", "AG2", "MCP", "Standard"];
5
5
  declare const CREW_TYPES: readonly ["Crews", "Flows"];
6
6
  declare const CHAT_COMPONENTS: readonly ["CopilotChat", "CopilotSidebar", "Headless", "CopilotPopup"];
7
7
  declare const LANGGRAPH_AGENTS: readonly ["Python Starter", "TypeScript Starter"];
@@ -13,7 +13,7 @@ declare const sanitizers: {
13
13
  lowercase: (value: string) => string;
14
14
  apiKey: (value: string) => string;
15
15
  };
16
- declare const ModeSchema: z.ZodEnum<["LangGraph", "CrewAI", "Mastra", "AG2", "MCP", "Standard"]>;
16
+ declare const ModeSchema: z.ZodEnum<["LangGraph", "CrewAI", "Mastra", "LlamaIndex", "Agno", "AG2", "MCP", "Standard"]>;
17
17
  declare const CrewTypeSchema: z.ZodEnum<["Crews", "Flows"]>;
18
18
  declare const ChatComponentSchema: z.ZodEnum<["CopilotChat", "CopilotSidebar", "Headless", "CopilotPopup"]>;
19
19
  declare const LangGraphAgentSchema: z.ZodEnum<["Python Starter", "TypeScript Starter"]>;
@@ -22,10 +22,11 @@ declare const YesNoSchema: z.ZodEnum<["Yes", "No"]>;
22
22
  declare const UrlSchema: z.ZodEffects<z.ZodString, string, unknown>;
23
23
  declare const TokenSchema: z.ZodEffects<z.ZodString, string, unknown>;
24
24
  declare const ApiKeySchema: z.ZodEffects<z.ZodString, string, unknown>;
25
+ declare const LLMApiKeySchema: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, unknown>;
25
26
  declare const NameSchema: z.ZodEffects<z.ZodString, string, unknown>;
26
27
  declare const ConfigSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
27
28
  copilotKitVersion: z.ZodOptional<z.ZodString>;
28
- mode: z.ZodEnum<["LangGraph", "CrewAI", "Mastra", "AG2", "MCP", "Standard"]>;
29
+ mode: z.ZodEnum<["LangGraph", "CrewAI", "Mastra", "LlamaIndex", "Agno", "AG2", "MCP", "Standard"]>;
29
30
  chatUi: z.ZodOptional<z.ZodEnum<["CopilotChat", "CopilotSidebar", "Headless", "CopilotPopup"]>>;
30
31
  alreadyDeployed: z.ZodOptional<z.ZodEnum<["Yes", "No"]>>;
31
32
  fastApiEnabled: z.ZodOptional<z.ZodEnum<["Yes", "No"]>>;
@@ -40,9 +41,11 @@ declare const ConfigSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
40
41
  crewBearerToken: z.ZodOptional<z.ZodEffects<z.ZodString, string, unknown>>;
41
42
  copilotCloudPublicApiKey: z.ZodOptional<z.ZodString>;
42
43
  langSmithApiKey: z.ZodOptional<z.ZodEffects<z.ZodString, string, unknown>>;
43
- llmToken: z.ZodOptional<z.ZodEffects<z.ZodString, string, unknown>>;
44
+ llmToken: z.ZodOptional<z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, unknown>>;
45
+ setupIDEDocs: z.ZodOptional<z.ZodEnum<["Yes", "No"]>>;
46
+ selectedIDE: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["cursor", "windsurf"]>, z.ZodLiteral<"skip">]>>;
44
47
  }, "strip", z.ZodTypeAny, {
45
- mode: "CrewAI" | "MCP" | "LangGraph" | "Mastra" | "AG2" | "Standard";
48
+ mode: "CrewAI" | "MCP" | "LangGraph" | "Mastra" | "LlamaIndex" | "Agno" | "AG2" | "Standard";
46
49
  copilotKitVersion?: string | undefined;
47
50
  chatUi?: "CopilotChat" | "CopilotSidebar" | "Headless" | "CopilotPopup" | undefined;
48
51
  alreadyDeployed?: "Yes" | "No" | undefined;
@@ -59,8 +62,10 @@ declare const ConfigSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
59
62
  copilotCloudPublicApiKey?: string | undefined;
60
63
  langSmithApiKey?: string | undefined;
61
64
  llmToken?: string | undefined;
65
+ setupIDEDocs?: "Yes" | "No" | undefined;
66
+ selectedIDE?: "cursor" | "windsurf" | "skip" | undefined;
62
67
  }, {
63
- mode: "CrewAI" | "MCP" | "LangGraph" | "Mastra" | "AG2" | "Standard";
68
+ mode: "CrewAI" | "MCP" | "LangGraph" | "Mastra" | "LlamaIndex" | "Agno" | "AG2" | "Standard";
64
69
  copilotKitVersion?: string | undefined;
65
70
  chatUi?: "CopilotChat" | "CopilotSidebar" | "Headless" | "CopilotPopup" | undefined;
66
71
  alreadyDeployed?: "Yes" | "No" | undefined;
@@ -77,8 +82,10 @@ declare const ConfigSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
77
82
  copilotCloudPublicApiKey?: string | undefined;
78
83
  langSmithApiKey?: unknown;
79
84
  llmToken?: unknown;
85
+ setupIDEDocs?: "Yes" | "No" | undefined;
86
+ selectedIDE?: "cursor" | "windsurf" | "skip" | undefined;
80
87
  }>, {
81
- mode: "CrewAI" | "MCP" | "LangGraph" | "Mastra" | "AG2" | "Standard";
88
+ mode: "CrewAI" | "MCP" | "LangGraph" | "Mastra" | "LlamaIndex" | "Agno" | "AG2" | "Standard";
82
89
  copilotKitVersion?: string | undefined;
83
90
  chatUi?: "CopilotChat" | "CopilotSidebar" | "Headless" | "CopilotPopup" | undefined;
84
91
  alreadyDeployed?: "Yes" | "No" | undefined;
@@ -95,8 +102,10 @@ declare const ConfigSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
95
102
  copilotCloudPublicApiKey?: string | undefined;
96
103
  langSmithApiKey?: string | undefined;
97
104
  llmToken?: string | undefined;
105
+ setupIDEDocs?: "Yes" | "No" | undefined;
106
+ selectedIDE?: "cursor" | "windsurf" | "skip" | undefined;
98
107
  }, {
99
- mode: "CrewAI" | "MCP" | "LangGraph" | "Mastra" | "AG2" | "Standard";
108
+ mode: "CrewAI" | "MCP" | "LangGraph" | "Mastra" | "LlamaIndex" | "Agno" | "AG2" | "Standard";
100
109
  copilotKitVersion?: string | undefined;
101
110
  chatUi?: "CopilotChat" | "CopilotSidebar" | "Headless" | "CopilotPopup" | undefined;
102
111
  alreadyDeployed?: "Yes" | "No" | undefined;
@@ -113,8 +122,10 @@ declare const ConfigSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
113
122
  copilotCloudPublicApiKey?: string | undefined;
114
123
  langSmithApiKey?: unknown;
115
124
  llmToken?: unknown;
125
+ setupIDEDocs?: "Yes" | "No" | undefined;
126
+ selectedIDE?: "cursor" | "windsurf" | "skip" | undefined;
116
127
  }>, {
117
- mode: "CrewAI" | "MCP" | "LangGraph" | "Mastra" | "AG2" | "Standard";
128
+ mode: "CrewAI" | "MCP" | "LangGraph" | "Mastra" | "LlamaIndex" | "Agno" | "AG2" | "Standard";
118
129
  copilotKitVersion?: string | undefined;
119
130
  chatUi?: "CopilotChat" | "CopilotSidebar" | "Headless" | "CopilotPopup" | undefined;
120
131
  alreadyDeployed?: "Yes" | "No" | undefined;
@@ -131,8 +142,10 @@ declare const ConfigSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
131
142
  copilotCloudPublicApiKey?: string | undefined;
132
143
  langSmithApiKey?: string | undefined;
133
144
  llmToken?: string | undefined;
145
+ setupIDEDocs?: "Yes" | "No" | undefined;
146
+ selectedIDE?: "cursor" | "windsurf" | "skip" | undefined;
134
147
  }, {
135
- mode: "CrewAI" | "MCP" | "LangGraph" | "Mastra" | "AG2" | "Standard";
148
+ mode: "CrewAI" | "MCP" | "LangGraph" | "Mastra" | "LlamaIndex" | "Agno" | "AG2" | "Standard";
136
149
  copilotKitVersion?: string | undefined;
137
150
  chatUi?: "CopilotChat" | "CopilotSidebar" | "Headless" | "CopilotPopup" | undefined;
138
151
  alreadyDeployed?: "Yes" | "No" | undefined;
@@ -149,15 +162,20 @@ declare const ConfigSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
149
162
  copilotCloudPublicApiKey?: string | undefined;
150
163
  langSmithApiKey?: unknown;
151
164
  llmToken?: unknown;
165
+ setupIDEDocs?: "Yes" | "No" | undefined;
166
+ selectedIDE?: "cursor" | "windsurf" | "skip" | undefined;
152
167
  }>;
153
168
  type Config = z.infer<typeof ConfigSchema>;
154
169
  type Question = {
155
170
  type: 'input' | 'yes/no' | 'select';
156
171
  name: keyof Config;
157
172
  message: string;
158
- choices?: readonly string[];
173
+ choices?: readonly string[] | (() => Promise<{
174
+ name: string;
175
+ value: string;
176
+ }[]>);
159
177
  default?: string;
160
- when?: (answers: Partial<Config>) => boolean;
178
+ when?: (answers: Partial<Config>) => boolean | Promise<boolean>;
161
179
  sensitive?: boolean;
162
180
  validate?: (input: string) => true | string;
163
181
  sanitize?: (input: string) => string;
@@ -174,6 +192,8 @@ declare const ConfigFlags: {
174
192
  'crew-bearer-token': _oclif_core_interfaces.OptionFlag<string | undefined, _oclif_core_interfaces.CustomOptions>;
175
193
  'langsmith-api-key': _oclif_core_interfaces.OptionFlag<string | undefined, _oclif_core_interfaces.CustomOptions>;
176
194
  'llm-token': _oclif_core_interfaces.OptionFlag<string | undefined, _oclif_core_interfaces.CustomOptions>;
195
+ 'setup-ide-docs': _oclif_core_interfaces.OptionFlag<string | undefined, _oclif_core_interfaces.CustomOptions>;
196
+ 'selected-ide': _oclif_core_interfaces.OptionFlag<string | undefined, _oclif_core_interfaces.CustomOptions>;
177
197
  };
178
198
 
179
- export { ApiKeySchema, CHAT_COMPONENTS, CREW_FLOW_TEMPLATES, CREW_TYPES, ChatComponentSchema, type Config, ConfigFlags, ConfigSchema, CrewFlowTemplateSchema, CrewTypeSchema, LANGGRAPH_AGENTS, LangGraphAgentSchema, MODES, ModeSchema, NameSchema, type Question, TokenSchema, UrlSchema, YES_NO, YesNoSchema, sanitizers };
199
+ export { ApiKeySchema, CHAT_COMPONENTS, CREW_FLOW_TEMPLATES, CREW_TYPES, ChatComponentSchema, type Config, ConfigFlags, ConfigSchema, CrewFlowTemplateSchema, CrewTypeSchema, LANGGRAPH_AGENTS, LLMApiKeySchema, LangGraphAgentSchema, MODES, ModeSchema, NameSchema, type Question, TokenSchema, UrlSchema, YES_NO, YesNoSchema, sanitizers };
@@ -8,7 +8,7 @@ var isLocalhost = (url) => {
8
8
  };
9
9
 
10
10
  // src/lib/init/types/questions.ts
11
- var MODES = ["LangGraph", "CrewAI", "Mastra", "AG2", "MCP", "Standard"];
11
+ var MODES = ["LangGraph", "CrewAI", "Mastra", "LlamaIndex", "Agno", "AG2", "MCP", "Standard"];
12
12
  var CREW_TYPES = ["Crews", "Flows"];
13
13
  var CHAT_COMPONENTS = ["CopilotChat", "CopilotSidebar", "Headless", "CopilotPopup"];
14
14
  var LANGGRAPH_AGENTS = ["Python Starter", "TypeScript Starter"];
@@ -51,6 +51,7 @@ var ApiKeySchema = z.preprocess(
51
51
  (val) => sanitizers.apiKey(String(val)),
52
52
  z.string().min(1, "API key is required")
53
53
  );
54
+ var LLMApiKeySchema = z.preprocess((val) => sanitizers.apiKey(String(val)), z.string().optional());
54
55
  var NameSchema = z.preprocess((val) => sanitizers.trim(String(val)), z.string().min(1, "Name is required"));
55
56
  var ConfigSchema = z.object({
56
57
  // Core fields
@@ -74,7 +75,10 @@ var ConfigSchema = z.object({
74
75
  // API keys and tokens
75
76
  copilotCloudPublicApiKey: z.string().optional(),
76
77
  langSmithApiKey: ApiKeySchema.optional(),
77
- llmToken: ApiKeySchema.optional()
78
+ llmToken: LLMApiKeySchema.optional(),
79
+ // IDE Documentation setup fields
80
+ setupIDEDocs: YesNoSchema.optional(),
81
+ selectedIDE: z.union([z.enum(["cursor", "windsurf"]), z.literal("skip")]).optional()
78
82
  }).refine(
79
83
  (data) => {
80
84
  if (data.mode === "CrewAI") {
@@ -109,7 +113,12 @@ var ConfigFlags = {
109
113
  "crew-url": Flags.string({ description: "URL endpoint for your CrewAI agent" }),
110
114
  "crew-bearer-token": Flags.string({ description: "Bearer token for CrewAI authentication" }),
111
115
  "langsmith-api-key": Flags.string({ description: "LangSmith API key for LangGraph observability" }),
112
- "llm-token": Flags.string({ description: "API key for your preferred LLM provider" })
116
+ "llm-token": Flags.string({ description: "API key for your preferred LLM provider" }),
117
+ "setup-ide-docs": Flags.string({ description: "Setup IDE documentation rules for AI assistance", options: YES_NO }),
118
+ "selected-ide": Flags.string({
119
+ description: "IDE to configure with documentation rules",
120
+ options: ["cursor", "windsurf", "skip"]
121
+ })
113
122
  };
114
123
  export {
115
124
  ApiKeySchema,
@@ -122,6 +131,7 @@ export {
122
131
  CrewFlowTemplateSchema,
123
132
  CrewTypeSchema,
124
133
  LANGGRAPH_AGENTS,
134
+ LLMApiKeySchema,
125
135
  LangGraphAgentSchema,
126
136
  MODES,
127
137
  ModeSchema,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/init/types/questions.ts","../../../../src/lib/init/utils.ts"],"sourcesContent":["import {z} from 'zod'\nimport {Flags} from '@oclif/core'\nimport {isLocalhost} from '../utils.js'\n\n// ===== Core Constants =====\nexport const MODES = ['LangGraph', 'CrewAI', 'Mastra', 'AG2', 'MCP', 'Standard'] as const\nexport const CREW_TYPES = ['Crews', 'Flows'] as const\nexport const CHAT_COMPONENTS = ['CopilotChat', 'CopilotSidebar', 'Headless', 'CopilotPopup'] as const\nexport const LANGGRAPH_AGENTS = ['Python Starter', 'TypeScript Starter'] as const\nexport const CREW_FLOW_TEMPLATES = ['Starter'] as const\nexport const YES_NO = ['Yes', 'No'] as const\n\n// ===== Sanitizers =====\nexport const sanitizers = {\n // Remove trailing slash from URLs\n url: (value: string): string => {\n if (!value) return value\n return value.trim().replace(/\\/+$/, '')\n },\n\n // Trim whitespace from strings\n trim: (value: string): string => {\n if (!value) return value\n return value.trim()\n },\n\n // Lowercase strings\n lowercase: (value: string): string => {\n if (!value) return value\n return value.toLowerCase().trim()\n },\n\n // Clean API keys (remove whitespace)\n apiKey: (value: string): string => {\n if (!value) return value\n return value.trim().replace(/\\s/g, '')\n },\n}\n\n// ===== Zod Schemas =====\n\n// Basic schemas\nexport const ModeSchema = z.enum(MODES)\nexport const CrewTypeSchema = z.enum(CREW_TYPES)\nexport const ChatComponentSchema = z.enum(CHAT_COMPONENTS)\nexport const LangGraphAgentSchema = z.enum(LANGGRAPH_AGENTS)\nexport const CrewFlowTemplateSchema = z.enum(CREW_FLOW_TEMPLATES)\nexport const YesNoSchema = z.enum(YES_NO)\n\n// URL validation schema with preprocessing to remove trailing slash\nexport const UrlSchema = z.preprocess(\n (val) => sanitizers.url(String(val)),\n z.string().url('Please enter a valid URL').min(1, 'URL is required'),\n)\n\n// Token validation schema with preprocessing to trim\nexport const TokenSchema = z.preprocess((val) => sanitizers.trim(String(val)), z.string().min(1, 'Token is required'))\n\n// API key validation schema with preprocessing to remove whitespace\nexport const ApiKeySchema = z.preprocess(\n (val) => sanitizers.apiKey(String(val)),\n z.string().min(1, 'API key is required'),\n)\n\n// Name validation schema with preprocessing to trim\nexport const NameSchema = z.preprocess((val) => sanitizers.trim(String(val)), z.string().min(1, 'Name is required'))\n\n// Config schema\nexport const ConfigSchema = z\n .object({\n // Core fields\n copilotKitVersion: z.string().optional(),\n mode: ModeSchema,\n chatUi: ChatComponentSchema.optional(),\n\n // Yes/No fields\n alreadyDeployed: YesNoSchema.optional(),\n fastApiEnabled: YesNoSchema.optional(),\n useCopilotCloud: YesNoSchema.optional(),\n\n // LangGraph specific fields\n langGraphAgent: LangGraphAgentSchema.optional(),\n langGraphPlatform: YesNoSchema.optional(),\n langGraphPlatformUrl: UrlSchema.optional(),\n langGraphRemoteEndpointURL: UrlSchema.optional(),\n\n // CrewAI specific fields\n crewType: CrewTypeSchema.optional(),\n crewName: NameSchema.optional(),\n crewUrl: UrlSchema.optional(),\n crewBearerToken: TokenSchema.optional(),\n\n // API keys and tokens\n copilotCloudPublicApiKey: z.string().optional(),\n langSmithApiKey: ApiKeySchema.optional(),\n llmToken: ApiKeySchema.optional(),\n })\n .refine(\n (data) => {\n // If CrewAI is selected, require crew URL and bearer token\n if (data.mode === 'CrewAI') {\n return !!data.crewUrl && !!data.crewBearerToken\n }\n return true\n },\n {\n message: 'Crew URL and bearer token are required for CrewAI',\n path: ['crewUrl', 'crewBearerToken'],\n },\n )\n .refine(\n (data) => {\n // If LangGraph is selected with LangGraph Platform, require platform URL and LangSmith API key\n if (data.mode === 'LangGraph' && data.alreadyDeployed === 'Yes' && data.langGraphPlatform === 'Yes') {\n return (!!data.langGraphPlatformUrl && !!data.langSmithApiKey) || isLocalhost(data.langGraphPlatformUrl || '')\n }\n return true\n },\n {\n message: 'LangGraph Platform URL and LangSmith API key are required',\n path: ['langGraphPlatformUrl', 'langSmithApiKey'],\n },\n )\n\n// Export the inferred type from the schema\nexport type Config = z.infer<typeof ConfigSchema>\n\n// Question type definition with improved validation and sanitization\nexport type Question = {\n type: 'input' | 'yes/no' | 'select'\n name: keyof Config\n message: string\n choices?: readonly string[]\n default?: string\n when?: (answers: Partial<Config>) => boolean\n sensitive?: boolean\n validate?: (input: string) => true | string // Return true if valid, error message string if invalid\n sanitize?: (input: string) => string // Function to sanitize input before validation\n}\n\n// CLI flags definition with descriptions\nexport const ConfigFlags = {\n booth: Flags.boolean({description: 'Use CopilotKit in booth mode', default: false, char: 'b'}),\n mode: Flags.string({description: 'How you will be interacting with AI', options: MODES, char: 'm'}),\n 'copilotkit-version': Flags.string({description: 'CopilotKit version to use (e.g. 1.7.0)'}),\n 'use-copilot-cloud': Flags.string({description: 'Use Copilot Cloud for production-ready hosting', options: YES_NO}),\n 'langgraph-agent': Flags.string({description: 'LangGraph agent template to use', options: LANGGRAPH_AGENTS}),\n 'crew-type': Flags.string({description: 'CrewAI implementation type', options: CREW_TYPES}),\n 'crew-name': Flags.string({description: 'Name for your CrewAI agent'}),\n 'crew-url': Flags.string({description: 'URL endpoint for your CrewAI agent'}),\n 'crew-bearer-token': Flags.string({description: 'Bearer token for CrewAI authentication'}),\n 'langsmith-api-key': Flags.string({description: 'LangSmith API key for LangGraph observability'}),\n 'llm-token': Flags.string({description: 'API key for your preferred LLM provider'}),\n}\n","export const isLocalhost = (url: string): boolean => {\n return url.includes('localhost') || url.includes('127.0.0.1') || url.includes('0.0.0.0')\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../../src/lib/init/types/questions.ts","../../../../src/lib/init/utils.ts"],"sourcesContent":["import { z } from 'zod'\nimport { Flags } from '@oclif/core'\nimport { isLocalhost } from '../utils.js'\n\n// ===== Core Constants =====\nexport const MODES = ['LangGraph', 'CrewAI', 'Mastra', 'LlamaIndex', 'Agno', 'AG2', 'MCP', 'Standard'] as const\nexport const CREW_TYPES = ['Crews', 'Flows'] as const\nexport const CHAT_COMPONENTS = ['CopilotChat', 'CopilotSidebar', 'Headless', 'CopilotPopup'] as const\nexport const LANGGRAPH_AGENTS = ['Python Starter', 'TypeScript Starter'] as const\nexport const CREW_FLOW_TEMPLATES = ['Starter'] as const\nexport const YES_NO = ['Yes', 'No'] as const\n\n// ===== Sanitizers =====\nexport const sanitizers = {\n // Remove trailing slash from URLs\n url: (value: string): string => {\n if (!value) return value\n return value.trim().replace(/\\/+$/, '')\n },\n\n // Trim whitespace from strings\n trim: (value: string): string => {\n if (!value) return value\n return value.trim()\n },\n\n // Lowercase strings\n lowercase: (value: string): string => {\n if (!value) return value\n return value.toLowerCase().trim()\n },\n\n // Clean API keys (remove whitespace)\n apiKey: (value: string): string => {\n if (!value) return value\n return value.trim().replace(/\\s/g, '')\n },\n}\n\n// ===== Zod Schemas =====\n\n// Basic schemas\nexport const ModeSchema = z.enum(MODES)\nexport const CrewTypeSchema = z.enum(CREW_TYPES)\nexport const ChatComponentSchema = z.enum(CHAT_COMPONENTS)\nexport const LangGraphAgentSchema = z.enum(LANGGRAPH_AGENTS)\nexport const CrewFlowTemplateSchema = z.enum(CREW_FLOW_TEMPLATES)\nexport const YesNoSchema = z.enum(YES_NO)\n\n// URL validation schema with preprocessing to remove trailing slash\nexport const UrlSchema = z.preprocess(\n (val) => sanitizers.url(String(val)),\n z.string().url('Please enter a valid URL').min(1, 'URL is required'),\n)\n\n// Token validation schema with preprocessing to trim\nexport const TokenSchema = z.preprocess((val) => sanitizers.trim(String(val)), z.string().min(1, 'Token is required'))\n\n// API key validation schema with preprocessing to remove whitespace\nexport const ApiKeySchema = z.preprocess(\n (val) => sanitizers.apiKey(String(val)),\n z.string().min(1, 'API key is required'),\n)\n\nexport const LLMApiKeySchema = z.preprocess((val) => sanitizers.apiKey(String(val)), z.string().optional())\n\n// Name validation schema with preprocessing to trim\nexport const NameSchema = z.preprocess((val) => sanitizers.trim(String(val)), z.string().min(1, 'Name is required'))\n\n// Config schema\nexport const ConfigSchema = z\n .object({\n // Core fields\n copilotKitVersion: z.string().optional(),\n mode: ModeSchema,\n chatUi: ChatComponentSchema.optional(),\n\n // Yes/No fields\n alreadyDeployed: YesNoSchema.optional(),\n fastApiEnabled: YesNoSchema.optional(),\n useCopilotCloud: YesNoSchema.optional(),\n\n // LangGraph specific fields\n langGraphAgent: LangGraphAgentSchema.optional(),\n langGraphPlatform: YesNoSchema.optional(),\n langGraphPlatformUrl: UrlSchema.optional(),\n langGraphRemoteEndpointURL: UrlSchema.optional(),\n\n // CrewAI specific fields\n crewType: CrewTypeSchema.optional(),\n crewName: NameSchema.optional(),\n crewUrl: UrlSchema.optional(),\n crewBearerToken: TokenSchema.optional(),\n\n // API keys and tokens\n copilotCloudPublicApiKey: z.string().optional(),\n langSmithApiKey: ApiKeySchema.optional(),\n llmToken: LLMApiKeySchema.optional(),\n\n // IDE Documentation setup fields\n setupIDEDocs: YesNoSchema.optional(),\n selectedIDE: z.union([z.enum(['cursor', 'windsurf']), z.literal('skip')]).optional(),\n })\n .refine(\n (data) => {\n // If CrewAI is selected, require crew URL and bearer token\n if (data.mode === 'CrewAI') {\n return !!data.crewUrl && !!data.crewBearerToken\n }\n return true\n },\n {\n message: 'Crew URL and bearer token are required for CrewAI',\n path: ['crewUrl', 'crewBearerToken'],\n },\n )\n .refine(\n (data) => {\n // If LangGraph is selected with LangGraph Platform, require platform URL and LangSmith API key\n if (data.mode === 'LangGraph' && data.alreadyDeployed === 'Yes' && data.langGraphPlatform === 'Yes') {\n return (!!data.langGraphPlatformUrl && !!data.langSmithApiKey) || isLocalhost(data.langGraphPlatformUrl || '')\n }\n return true\n },\n {\n message: 'LangGraph Platform URL and LangSmith API key are required',\n path: ['langGraphPlatformUrl', 'langSmithApiKey'],\n },\n )\n\n// Export the inferred type from the schema\nexport type Config = z.infer<typeof ConfigSchema>\n\n// Question type definition with improved validation and sanitization\nexport type Question = {\n type: 'input' | 'yes/no' | 'select'\n name: keyof Config\n message: string\n choices?: readonly string[] | (() => Promise<{ name: string; value: string }[]>)\n default?: string\n when?: (answers: Partial<Config>) => boolean | Promise<boolean>\n sensitive?: boolean\n validate?: (input: string) => true | string // Return true if valid, error message string if invalid\n sanitize?: (input: string) => string // Function to sanitize input before validation\n}\n\n// CLI flags definition with descriptions\nexport const ConfigFlags = {\n booth: Flags.boolean({ description: 'Use CopilotKit in booth mode', default: false, char: 'b' }),\n mode: Flags.string({ description: 'How you will be interacting with AI', options: MODES, char: 'm' }),\n 'copilotkit-version': Flags.string({ description: 'CopilotKit version to use (e.g. 1.7.0)' }),\n 'use-copilot-cloud': Flags.string({ description: 'Use Copilot Cloud for production-ready hosting', options: YES_NO }),\n 'langgraph-agent': Flags.string({ description: 'LangGraph agent template to use', options: LANGGRAPH_AGENTS }),\n 'crew-type': Flags.string({ description: 'CrewAI implementation type', options: CREW_TYPES }),\n 'crew-name': Flags.string({ description: 'Name for your CrewAI agent' }),\n 'crew-url': Flags.string({ description: 'URL endpoint for your CrewAI agent' }),\n 'crew-bearer-token': Flags.string({ description: 'Bearer token for CrewAI authentication' }),\n 'langsmith-api-key': Flags.string({ description: 'LangSmith API key for LangGraph observability' }),\n 'llm-token': Flags.string({ description: 'API key for your preferred LLM provider' }),\n 'setup-ide-docs': Flags.string({ description: 'Setup IDE documentation rules for AI assistance', options: YES_NO }),\n 'selected-ide': Flags.string({\n description: 'IDE to configure with documentation rules',\n options: ['cursor', 'windsurf', 'skip'],\n }),\n}\n","export const isLocalhost = (url: string): boolean => {\n return url.includes('localhost') || url.includes('127.0.0.1') || url.includes('0.0.0.0')\n}\n"],"mappings":"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","names":[]}
@@ -1,3 +1,3 @@
1
- declare const LIB_VERSION = "0.0.39";
1
+ declare const LIB_VERSION = "0.0.41";
2
2
 
3
3
  export { LIB_VERSION };
@@ -1,5 +1,5 @@
1
1
  // src/utils/version.ts
2
- var LIB_VERSION = "0.0.39";
2
+ var LIB_VERSION = "0.0.41";
3
3
  export {
4
4
  LIB_VERSION
5
5
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/version.ts"],"sourcesContent":["// This is auto generated!\nexport const LIB_VERSION = \"0.0.39\";\n"],"mappings":";AACO,IAAM,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../src/utils/version.ts"],"sourcesContent":["// This is auto generated!\nexport const LIB_VERSION = \"0.0.41\";\n"],"mappings":";AACO,IAAM,cAAc;","names":[]}
@@ -138,6 +138,8 @@
138
138
  "LangGraph",
139
139
  "CrewAI",
140
140
  "Mastra",
141
+ "LlamaIndex",
142
+ "Agno",
141
143
  "AG2",
142
144
  "MCP",
143
145
  "Standard"
@@ -219,6 +221,29 @@
219
221
  "multiple": false,
220
222
  "type": "option"
221
223
  },
224
+ "setup-ide-docs": {
225
+ "description": "Setup IDE documentation rules for AI assistance",
226
+ "name": "setup-ide-docs",
227
+ "hasDynamicHelp": false,
228
+ "multiple": false,
229
+ "options": [
230
+ "Yes",
231
+ "No"
232
+ ],
233
+ "type": "option"
234
+ },
235
+ "selected-ide": {
236
+ "description": "IDE to configure with documentation rules",
237
+ "name": "selected-ide",
238
+ "hasDynamicHelp": false,
239
+ "multiple": false,
240
+ "options": [
241
+ "cursor",
242
+ "windsurf",
243
+ "skip"
244
+ ],
245
+ "type": "option"
246
+ },
222
247
  "runtimeUrl": {
223
248
  "description": "runtime URL",
224
249
  "name": "runtimeUrl",
@@ -301,5 +326,5 @@
301
326
  ]
302
327
  }
303
328
  },
304
- "version": "0.0.39"
329
+ "version": "0.0.41"
305
330
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "copilotkit",
3
3
  "description": "CopilotKit CLI",
4
- "version": "0.0.39",
4
+ "version": "0.0.41",
5
5
  "author": "CopilotKit",
6
6
  "bin": {
7
7
  "copilotkit": "./bin/run.js",