97b2089857
- Added `--route` and `--method` options to `function execute` command for better HTTP handling. - Improved `get function` command to display additional function metadata including HTTP settings, cache status, network restrictions, RAM limits, timeouts, and tags. - Removed deprecated `helloworld` command. - Expanded `update function` command with new options for Docker mounts, network restrictions, and various installation flags, including better error handling for boolean and number options. - Introduced environment variable management commands: `add`, `list`, and `remove` for account-wide environment variables. - Added `export` command to export authenticated account data. - Implemented `api openapi` and `api request` commands for direct API interaction. - Created logging and rate limit management commands for functions. - Added MCP tool commands for calling tools, fetching documentation, and initializing sessions. - Introduced utility functions for JSON handling and environment variable normalization. - Set up CI/CD pipeline with Gitea Actions for automated testing, building, and publishing. - Updated configuration loading to support environment variables for instance and token.
24 lines
583 B
TypeScript
24 lines
583 B
TypeScript
export type EnvVar = { name: string; value: string };
|
|
|
|
export function normalizeEnvList(value: unknown): EnvVar[] {
|
|
if (typeof value === "string") {
|
|
if (!value.trim()) return [];
|
|
try {
|
|
value = JSON.parse(value);
|
|
} catch {
|
|
return [];
|
|
}
|
|
}
|
|
|
|
if (!Array.isArray(value)) return [];
|
|
|
|
return value
|
|
.filter((item): item is EnvVar =>
|
|
item &&
|
|
typeof item === "object" &&
|
|
typeof (item as EnvVar).name === "string" &&
|
|
typeof (item as EnvVar).value === "string",
|
|
)
|
|
.map((item) => ({ name: item.name, value: item.value }));
|
|
}
|