Files
windmill/system_prompts/auto-generated/index.ts
T
Ruben FiszelandClaude Opus 5.5 468cf1d994 feat: read and change workspace settings from ai sessions and mcp (#11741)
* feat: read and change workspace settings from ai sessions and mcp

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs: cover wmill workspace settings commands in the settings guidance

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs: say unknown settings keys are warned and ee-only ones refused

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs: cover datatable_permissions and protection_rules in the settings guidance

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 13:06:26 +00:00

134 lines
3.9 KiB
TypeScript

// Auto-generated by generate.py - DO NOT EDIT
// Re-export all prompts
export * from './prompts';
import * as prompts from './prompts';
// Languages that use the TypeScript SDK
const TS_SDK_LANGUAGES = ['bun', 'deno', 'nativets', 'bunnative'];
// Languages that use the Python SDK
const PY_SDK_LANGUAGES = ['python3'];
// Languages that use the TypeScript Workflow-as-Code SDK
const WAC_TS_SDK_LANGUAGES = ['bun'];
// Languages that use the Python Workflow-as-Code SDK
const WAC_PY_SDK_LANGUAGES = PY_SDK_LANGUAGES;
// Helper to combine prompts for scripts
export function getScriptPrompt(language: string): string {
const langKey = `LANG_${language.toUpperCase()}` as keyof typeof prompts;
const langPrompt = (prompts as Record<string, string>)[langKey] || '';
// Determine which SDK to include based on language
let sdkPrompt = '';
if (TS_SDK_LANGUAGES.includes(language)) {
sdkPrompt = prompts.SDK_TYPESCRIPT;
} else if (PY_SDK_LANGUAGES.includes(language)) {
sdkPrompt = prompts.SDK_PYTHON;
}
return [
prompts.SCRIPT_BASE,
langPrompt,
sdkPrompt
].filter(Boolean).join('\n\n');
}
// Helper to combine prompts for flows
export function getFlowPrompt(): string {
return [
prompts.FLOW_BASE,
prompts.OPENFLOW_SCHEMA
].filter(Boolean).join('\n\n');
}
// Helper for resource & variable authoring
export function getResourcePrompt(): string {
return [
prompts.RESOURCES_BASE
].filter(Boolean).join('\n\n');
}
// Helper for raw app authoring (chat consumers). Inline backend runnables are
// ordinary Windmill jobs, so the reference has to carry the SDK the runnable
// calls — without it an agent invents client functions and hand-rolls HTTP.
// Only one SDK is returned: both would double an already large tool result.
export function getRawAppPrompt(language?: string): string {
const sdkPrompt = PY_SDK_LANGUAGES.includes(language ?? '')
? prompts.SDK_PYTHON
: prompts.SDK_TYPESCRIPT;
return [
prompts.RAW_APP_BASE,
sdkPrompt
].filter(Boolean).join('\n\n');
}
// Helper for data pipeline authoring (chat consumers)
export function getPipelinePrompt(): string {
return [
prompts.PIPELINE_BASE
].filter(Boolean).join('\n\n');
}
// Helper for data table schema changes, migrations and permissions (chat consumers)
export function getDatatablePrompt(): string {
return [
prompts.DATATABLE_BASE
].filter(Boolean).join('\n\n');
}
// Helper for the workspace settings document (chat consumers)
export function getWorkspaceSettingsPrompt(): string {
return [
prompts.WORKSPACE_SETTINGS_BASE
].filter(Boolean).join('\n\n');
}
// Helper to get the datatable SQL SDK reference (wmill.datatable()).
// Pass a language to get only that SDK; omit it to get both.
export function getDatatableSdkReference(language?: string): string {
if (language == null) {
return [
prompts.DATATABLE_SDK_TYPESCRIPT,
prompts.DATATABLE_SDK_PYTHON
].filter(Boolean).join('\n\n');
}
if (TS_SDK_LANGUAGES.includes(language)) {
return prompts.DATATABLE_SDK_TYPESCRIPT;
}
if (PY_SDK_LANGUAGES.includes(language)) {
return prompts.DATATABLE_SDK_PYTHON;
}
// Unknown language: return both rather than nothing.
return [
prompts.DATATABLE_SDK_TYPESCRIPT,
prompts.DATATABLE_SDK_PYTHON
].filter(Boolean).join('\n\n');
}
// Helper to combine prompts for Workflow-as-Code scripts
export function getWorkflowAsCodePrompt(language?: string): string {
let sdkPrompt = '';
if (language == null) {
sdkPrompt = [
prompts.WAC_SDK_TYPESCRIPT,
prompts.WAC_SDK_PYTHON
].filter(Boolean).join('\n\n');
} else if (WAC_TS_SDK_LANGUAGES.includes(language)) {
sdkPrompt = prompts.WAC_SDK_TYPESCRIPT;
} else if (WAC_PY_SDK_LANGUAGES.includes(language)) {
sdkPrompt = prompts.WAC_SDK_PYTHON;
} else {
return '';
}
return [
prompts.WORKFLOW_AS_CODE_BASE,
sdkPrompt
].filter(Boolean).join('\n\n');
}