chore: import upstream snapshot with attribution

This commit is contained in:
wehub-resource-sync
2026-07-13 12:58:18 +08:00
commit 6d5d58c1a9
18293 changed files with 3502153 additions and 0 deletions
@@ -0,0 +1,9 @@
venv/
__pycache__/
*.pyc
.env
.vercel
# LangGraph API
.langgraph_api
node_modules/
@@ -0,0 +1,9 @@
{
"node_version": "20",
"dockerfile_lines": [],
"dependencies": ["."],
"graphs": {
"sample_agent": "./src/agent.ts:graph"
},
"env": "../.env"
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,26 @@
{
"name": "agent",
"version": "0.0.1",
"description": "",
"keywords": [],
"license": "ISC",
"author": "",
"type": "module",
"main": "index.js",
"scripts": {
"dev": "langgraphjs dev --port 8123 --no-browser"
},
"dependencies": {
"@copilotkit/sdk-js": "1.62.3",
"@langchain/core": "1.1.49",
"@langchain/langgraph": "1.3.0",
"@langchain/openai": "1.4.4",
"langchain": "1.3.4"
},
"devDependencies": {
"@langchain/langgraph-cli": "1.2.4",
"@types/html-to-text": "^9.0.4",
"@types/node": "^22.9.0",
"typescript": "^5.6.3"
}
}
@@ -0,0 +1,54 @@
import { promises as fs } from "node:fs";
import path from "node:path";
import { fileURLToPath } from "node:url";
export const A2UI_OPERATIONS_KEY = "a2ui_operations";
export const BASIC_CATALOG_ID = "copilotkit://basic-catalog";
export type A2UIOperation = Record<string, unknown>;
export function createSurface(
surfaceId: string,
catalogId: string = BASIC_CATALOG_ID,
): A2UIOperation {
return {
version: "v0.9",
createSurface: { surfaceId, catalogId },
};
}
export function updateComponents(
surfaceId: string,
components: unknown[],
): A2UIOperation {
return {
version: "v0.9",
updateComponents: { surfaceId, components },
};
}
export function updateDataModel(
surfaceId: string,
value: unknown,
p: string = "/",
): A2UIOperation {
return {
version: "v0.9",
updateDataModel: { surfaceId, path: p, value },
};
}
export function render(operations: A2UIOperation[]): string {
return JSON.stringify({ [A2UI_OPERATIONS_KEY]: operations });
}
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
export async function loadSchema(relativePath: string): Promise<unknown[]> {
const full = path.isAbsolute(relativePath)
? relativePath
: path.join(__dirname, relativePath);
const raw = await fs.readFile(full, "utf8");
return JSON.parse(raw) as unknown[];
}
@@ -0,0 +1,37 @@
[
{
"id": "root",
"component": "Row",
"children": {
"componentId": "flight-card",
"path": "/flights"
},
"gap": 16
},
{
"id": "flight-card",
"component": "FlightCard",
"airline": { "path": "airline" },
"airlineLogo": { "path": "airlineLogo" },
"flightNumber": { "path": "flightNumber" },
"origin": { "path": "origin" },
"destination": { "path": "destination" },
"date": { "path": "date" },
"departureTime": { "path": "departureTime" },
"arrivalTime": { "path": "arrivalTime" },
"duration": { "path": "duration" },
"status": { "path": "status" },
"price": { "path": "price" },
"action": {
"event": {
"name": "book_flight",
"context": {
"flightNumber": { "path": "flightNumber" },
"origin": { "path": "origin" },
"destination": { "path": "destination" },
"price": { "path": "price" }
}
}
}
}
]
@@ -0,0 +1,97 @@
import { z } from "zod";
import { tool, type ToolRuntime } from "@langchain/core/tools";
import { SystemMessage } from "@langchain/core/messages";
import { ChatOpenAI } from "@langchain/openai";
import {
createSurface,
render,
updateComponents,
updateDataModel,
} from "./a2ui.js";
const CUSTOM_CATALOG_ID = "copilotkit://app-dashboard-catalog";
const renderA2uiSchema = z.object({
surfaceId: z.string(),
catalogId: z.string(),
components: z.array(z.record(z.any())),
data: z.record(z.any()).optional(),
});
const renderA2ui = tool(async () => "rendered", {
name: "render_a2ui",
description:
"Render a dynamic A2UI v0.9 surface. components must be a flat array whose root id is 'root'.",
schema: renderA2uiSchema,
});
const DynamicStateSchema = z.object({
messages: z.array(z.any()).default(() => []),
copilotkit: z
.object({
context: z
.array(z.object({ value: z.string().optional() }).passthrough())
.optional(),
})
.passthrough()
.optional(),
});
export const generate_a2ui = tool(
async (
_input: Record<string, never>,
runtime: ToolRuntime<typeof DynamicStateSchema>,
) => {
const messages = (runtime.state.messages ?? []).slice(0, -1);
const contextEntries = runtime.state.copilotkit?.context ?? [];
const contextText = contextEntries
.map((e) => (e && typeof e === "object" ? (e.value ?? "") : ""))
.filter(Boolean)
.join("\n\n");
const model = new ChatOpenAI({ model: "gpt-4.1" });
const modelWithTool = model.bindTools!([renderA2ui], {
tool_choice: "render_a2ui",
});
const response = await modelWithTool.invoke([
new SystemMessage({ content: contextText }),
...(messages as never[]),
]);
const toolCalls = (
response as { tool_calls?: Array<{ args: Record<string, unknown> }> }
).tool_calls;
if (!toolCalls || toolCalls.length === 0) {
return JSON.stringify({ error: "LLM did not call render_a2ui" });
}
const args = toolCalls[0].args as {
surfaceId?: string;
catalogId?: string;
components?: unknown[];
data?: Record<string, unknown>;
};
const surfaceId = args.surfaceId ?? "dynamic-surface";
const catalogId = args.catalogId ?? CUSTOM_CATALOG_ID;
const components = args.components ?? [];
const data = args.data ?? {};
const ops = [
createSurface(surfaceId, catalogId),
updateComponents(surfaceId, components),
];
if (Object.keys(data).length > 0) {
ops.push(updateDataModel(surfaceId, data));
}
return render(ops);
},
{
name: "generate_a2ui",
description:
"Generate dynamic A2UI components based on the conversation. " +
"A secondary LLM designs the UI schema and data.",
schema: z.object({}),
},
);
@@ -0,0 +1,56 @@
import { z } from "zod";
import { tool } from "@langchain/core/tools";
import {
createSurface,
loadSchema,
render,
updateComponents,
updateDataModel,
} from "./a2ui.js";
const CATALOG_ID = "copilotkit://app-dashboard-catalog";
const SURFACE_ID = "flight-search-results";
const FlightSchema = z.object({
id: z.string(),
airline: z.string(),
airlineLogo: z.string(),
flightNumber: z.string(),
origin: z.string(),
destination: z.string(),
date: z.string(),
departureTime: z.string(),
arrivalTime: z.string(),
duration: z.string(),
status: z.string(),
statusIcon: z.string(),
price: z.string(),
});
let _cachedSchema: unknown[] | null = null;
async function flightSchema(): Promise<unknown[]> {
if (_cachedSchema === null) {
_cachedSchema = await loadSchema("a2ui/schemas/flight_schema.json");
}
return _cachedSchema;
}
export const search_flights = tool(
async (input: { flights: z.infer<typeof FlightSchema>[] }) => {
const schema = await flightSchema();
return render([
createSurface(SURFACE_ID, CATALOG_ID),
updateComponents(SURFACE_ID, schema),
updateDataModel(SURFACE_ID, { flights: input.flights }),
]);
},
{
name: "search_flights",
description:
"Search for flights and display the results as rich cards. Return exactly 2 flights. " +
"Each flight must have id, airline, airlineLogo (Google favicon API URL), flightNumber, " +
"origin, destination, date (short readable), departureTime, arrivalTime, duration, " +
"status, statusIcon (colored dot URL), and price.",
schema: z.object({ flights: z.array(FlightSchema) }),
},
);
@@ -0,0 +1,57 @@
import { z } from "zod";
import { createAgent } from "langchain";
import { ChatOpenAI } from "@langchain/openai";
import {
copilotkitMiddleware,
CopilotKitStateSchema,
zodState,
} from "@copilotkit/sdk-js/langgraph";
import { StateSchema } from "@langchain/langgraph";
import {
stateItem,
stateStreamingMiddleware,
} from "@copilotkit/sdk-js/langgraph-middlewares";
import { todo_tools, TodoSchema } from "./todos.js";
import { query_data } from "./query.js";
import { search_flights } from "./a2ui_fixed_schema.js";
import { generate_a2ui } from "./a2ui_dynamic_schema.js";
const AgentStateSchema = new StateSchema({
todos: zodState(z.array(TodoSchema).default(() => [])),
...(CopilotKitStateSchema.fields as Record<string, any>),
});
const model = new ChatOpenAI({
model: "gpt-5.4",
modelKwargs: { parallel_tool_calls: false },
});
export const graph = createAgent({
model,
tools: [query_data, ...todo_tools, generate_a2ui, search_flights],
middleware: [
copilotkitMiddleware,
stateStreamingMiddleware(
stateItem({
stateKey: "todos",
tool: "manage_todos",
toolArgument: "todos",
}),
),
],
stateSchema: AgentStateSchema,
systemPrompt: `
You are a polished, professional demo assistant. Keep responses to 1-2 sentences.
Tool guidance:
- Flights: call search_flights to show flight cards with a pre-built schema.
- Dashboards & rich UI: call generate_a2ui to create dashboard UIs with metrics,
charts, tables, and cards. It handles rendering automatically.
- Charts: call query_data first, then render with the chart component.
- Todos: enable app mode first, then manage todos.
- A2UI actions: when you see a log_a2ui_event result (e.g. "view_details"),
respond with a brief confirmation. The UI already updated on the frontend.
`,
});
@@ -0,0 +1,41 @@
date,category,subcategory,amount,type,notes
2026-01-05,Revenue,Enterprise Subscriptions,28000,income,3 new enterprise customers (Acme Corp, TechFlow, DataViz Inc)
2026-01-05,Revenue,Pro Tier Upgrades,18000,income,24 users upgraded from free to pro
2026-01-08,Revenue,API Usage Overages,9500,income,High API usage from top 5 customers
2026-01-10,Expenses,Engineering Salaries,42000,expense,7 engineers + 2 contractors
2026-01-10,Expenses,Product Team,18000,expense,PM and 2 designers
2026-01-12,Expenses,AWS Infrastructure,8200,expense,Increased compute for new AI features
2026-01-15,Expenses,Marketing - Paid Ads,12000,expense,Google Ads and LinkedIn campaigns
2026-01-18,Revenue,Consulting Services,14500,income,Custom integration for Acme Corp
2026-01-20,Expenses,Customer Success,15000,expense,3 CSMs + support tools (Intercom)
2026-01-22,Expenses,AI Model Costs,4200,expense,OpenAI API usage for product features
2026-01-25,Revenue,Marketplace Sales,12800,income,Template and plugin sales
2026-01-28,Expenses,Office & Equipment,3500,expense,New laptops and coworking spaces
2026-02-03,Revenue,Enterprise Subscriptions,31000,income,2 new customers + expansion from TechFlow
2026-02-03,Revenue,Pro Tier Upgrades,22500,income,31 upgrades + reduced churn
2026-02-05,Revenue,API Usage Overages,11800,income,DataViz Inc heavy API usage spike
2026-02-07,Expenses,Engineering Salaries,42000,expense,Same headcount as January
2026-02-07,Expenses,Product Team,18000,expense,No changes to product team
2026-02-10,Expenses,AWS Infrastructure,9500,expense,Traffic spike from viral social post
2026-02-12,Expenses,Marketing - Paid Ads,15000,expense,Increased ad spend for Q1 push
2026-02-14,Revenue,Consulting Services,18000,income,2 custom projects (TechFlow + new client)
2026-02-18,Expenses,Customer Success,16500,expense,Hired 1 additional CSM
2026-02-20,Expenses,AI Model Costs,5800,expense,Increased usage from new AI features launch
2026-02-22,Revenue,Marketplace Sales,14200,income,Top template hit featured list
2026-02-25,Expenses,Conference & Travel,4500,expense,Team attended SaaS Conference 2026
2026-02-27,Revenue,Partnership Revenue,11500,income,Referral fees from integration partners
2026-03-02,Revenue,Enterprise Subscriptions,35000,income,Major win: Fortune 500 customer signed
2026-03-02,Revenue,Pro Tier Upgrades,26000,income,42 upgrades - best month yet
2026-03-05,Revenue,API Usage Overages,13200,income,Consistent high usage across top tier
2026-03-08,Expenses,Engineering Salaries,48000,expense,Hired 1 senior engineer for AI team
2026-03-08,Expenses,Product Team,21000,expense,Promoted designer to senior level
2026-03-10,Expenses,AWS Infrastructure,11000,expense,Scaled infrastructure for enterprise client
2026-03-12,Expenses,Marketing - Paid Ads,18000,expense,Doubled down on successful campaigns
2026-03-14,Revenue,Consulting Services,21500,income,Fortune 500 onboarding + 2 other projects
2026-03-16,Expenses,Customer Success,19500,expense,Hired dedicated enterprise CSM
2026-03-18,Expenses,AI Model Costs,7200,expense,Fortune 500 client heavy AI usage
2026-03-20,Revenue,Marketplace Sales,15800,income,3 new templates in top 10
2026-03-22,Expenses,Sales & BD,12000,expense,Hired first sales rep for enterprise
2026-03-24,Revenue,Partnership Revenue,14200,income,New integration partnerships launched
2026-03-26,Expenses,Security & Compliance,6500,expense,SOC 2 audit and security tools
2026-03-28,Revenue,Training & Workshops,10200,income,Conducted 2 customer training sessions
1 date,category,subcategory,amount,type,notes
2 2026-01-05,Revenue,Enterprise Subscriptions,28000,income,3 new enterprise customers (Acme Corp, TechFlow, DataViz Inc)
3 2026-01-05,Revenue,Pro Tier Upgrades,18000,income,24 users upgraded from free to pro
4 2026-01-08,Revenue,API Usage Overages,9500,income,High API usage from top 5 customers
5 2026-01-10,Expenses,Engineering Salaries,42000,expense,7 engineers + 2 contractors
6 2026-01-10,Expenses,Product Team,18000,expense,PM and 2 designers
7 2026-01-12,Expenses,AWS Infrastructure,8200,expense,Increased compute for new AI features
8 2026-01-15,Expenses,Marketing - Paid Ads,12000,expense,Google Ads and LinkedIn campaigns
9 2026-01-18,Revenue,Consulting Services,14500,income,Custom integration for Acme Corp
10 2026-01-20,Expenses,Customer Success,15000,expense,3 CSMs + support tools (Intercom)
11 2026-01-22,Expenses,AI Model Costs,4200,expense,OpenAI API usage for product features
12 2026-01-25,Revenue,Marketplace Sales,12800,income,Template and plugin sales
13 2026-01-28,Expenses,Office & Equipment,3500,expense,New laptops and coworking spaces
14 2026-02-03,Revenue,Enterprise Subscriptions,31000,income,2 new customers + expansion from TechFlow
15 2026-02-03,Revenue,Pro Tier Upgrades,22500,income,31 upgrades + reduced churn
16 2026-02-05,Revenue,API Usage Overages,11800,income,DataViz Inc heavy API usage spike
17 2026-02-07,Expenses,Engineering Salaries,42000,expense,Same headcount as January
18 2026-02-07,Expenses,Product Team,18000,expense,No changes to product team
19 2026-02-10,Expenses,AWS Infrastructure,9500,expense,Traffic spike from viral social post
20 2026-02-12,Expenses,Marketing - Paid Ads,15000,expense,Increased ad spend for Q1 push
21 2026-02-14,Revenue,Consulting Services,18000,income,2 custom projects (TechFlow + new client)
22 2026-02-18,Expenses,Customer Success,16500,expense,Hired 1 additional CSM
23 2026-02-20,Expenses,AI Model Costs,5800,expense,Increased usage from new AI features launch
24 2026-02-22,Revenue,Marketplace Sales,14200,income,Top template hit featured list
25 2026-02-25,Expenses,Conference & Travel,4500,expense,Team attended SaaS Conference 2026
26 2026-02-27,Revenue,Partnership Revenue,11500,income,Referral fees from integration partners
27 2026-03-02,Revenue,Enterprise Subscriptions,35000,income,Major win: Fortune 500 customer signed
28 2026-03-02,Revenue,Pro Tier Upgrades,26000,income,42 upgrades - best month yet
29 2026-03-05,Revenue,API Usage Overages,13200,income,Consistent high usage across top tier
30 2026-03-08,Expenses,Engineering Salaries,48000,expense,Hired 1 senior engineer for AI team
31 2026-03-08,Expenses,Product Team,21000,expense,Promoted designer to senior level
32 2026-03-10,Expenses,AWS Infrastructure,11000,expense,Scaled infrastructure for enterprise client
33 2026-03-12,Expenses,Marketing - Paid Ads,18000,expense,Doubled down on successful campaigns
34 2026-03-14,Revenue,Consulting Services,21500,income,Fortune 500 onboarding + 2 other projects
35 2026-03-16,Expenses,Customer Success,19500,expense,Hired dedicated enterprise CSM
36 2026-03-18,Expenses,AI Model Costs,7200,expense,Fortune 500 client heavy AI usage
37 2026-03-20,Revenue,Marketplace Sales,15800,income,3 new templates in top 10
38 2026-03-22,Expenses,Sales & BD,12000,expense,Hired first sales rep for enterprise
39 2026-03-24,Revenue,Partnership Revenue,14200,income,New integration partnerships launched
40 2026-03-26,Expenses,Security & Compliance,6500,expense,SOC 2 audit and security tools
41 2026-03-28,Revenue,Training & Workshops,10200,income,Conducted 2 customer training sessions
@@ -0,0 +1,68 @@
import { readFileSync } from "node:fs";
import path from "node:path";
import { fileURLToPath } from "node:url";
import { z } from "zod";
import { tool } from "@langchain/core/tools";
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
function parseCsv(raw: string): Record<string, string>[] {
const lines = raw.trim().split(/\r?\n/);
if (lines.length === 0) return [];
const headers = lines[0].split(",");
const rows: Record<string, string>[] = [];
for (let i = 1; i < lines.length; i++) {
const cells = splitCsvLine(lines[i]);
const row: Record<string, string> = {};
headers.forEach((h, idx) => {
row[h] = cells[idx] ?? "";
});
rows.push(row);
}
return rows;
}
function splitCsvLine(line: string): string[] {
const out: string[] = [];
let cur = "";
let inQuotes = false;
for (let i = 0; i < line.length; i++) {
const ch = line[i];
if (inQuotes) {
if (ch === '"' && line[i + 1] === '"') {
cur += '"';
i++;
} else if (ch === '"') {
inQuotes = false;
} else {
cur += ch;
}
} else if (ch === '"') {
inQuotes = true;
} else if (ch === ",") {
out.push(cur);
cur = "";
} else {
cur += ch;
}
}
out.push(cur);
return out;
}
const _cached_data = parseCsv(
readFileSync(path.join(__dirname, "db.csv"), "utf8"),
);
export const query_data = tool(
(_input: { query: string }) => {
return JSON.stringify(_cached_data);
},
{
name: "query_data",
description:
"Query the database, takes natural language. Always call before showing a chart or graph.",
schema: z.object({ query: z.string() }),
},
);
@@ -0,0 +1,60 @@
import { randomUUID } from "node:crypto";
import { z } from "zod";
import { tool, type ToolRuntime } from "@langchain/core/tools";
import { ToolMessage } from "@langchain/core/messages";
import { Command } from "@langchain/langgraph";
export const TodoSchema = z.object({
id: z.string().optional(),
title: z.string(),
description: z.string(),
emoji: z.string(),
status: z.enum(["pending", "completed"]),
});
export type Todo = z.infer<typeof TodoSchema>;
const TodosStateSchema = z.object({
todos: z.array(TodoSchema),
});
export const manage_todos = tool(
(input: { todos: Todo[] }, runtime: ToolRuntime<typeof TodosStateSchema>) => {
const todos = input.todos.map((t) => ({
...t,
id: t.id ?? randomUUID(),
}));
return new Command({
update: {
todos,
messages: [
new ToolMessage({
content: "Successfully updated todos",
tool_call_id: runtime.toolCallId,
}),
],
},
});
},
{
name: "manage_todos",
description: "Manage the current todos.",
schema: z.object({ todos: z.array(TodoSchema) }),
},
);
export const get_todos = tool(
(
_input: Record<string, never>,
runtime: ToolRuntime<typeof TodosStateSchema>,
) => {
return JSON.stringify(runtime.state.todos ?? []);
},
{
name: "get_todos",
description: "Get the current todos.",
schema: z.object({}),
},
);
export const todo_tools = [manage_todos, get_todos];
@@ -0,0 +1,110 @@
{
"compilerOptions": {
/* Visit https://aka.ms/tsconfig to read more about this file */
/* Projects */
// "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */
// "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */
// "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */
// "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */
// "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */
// "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */
/* Language and Environment */
"target": "es2016" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */,
// "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */
// "jsx": "preserve", /* Specify what JSX code is generated. */
// "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */
// "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */
// "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */
// "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */
// "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */
// "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */
// "noLib": true, /* Disable including any library files, including the default lib.d.ts. */
// "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */
// "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */
/* Modules */
"module": "Node16" /* Specify what module code is generated. */,
// "rootDir": "./", /* Specify the root folder within your source files. */
"moduleResolution": "node16" /* Specify how TypeScript looks up a file from a given module specifier. */,
// "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */
// "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */
// "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
// "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */
// "types": [], /* Specify type package names to be included without being referenced in a source file. */
// "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
// "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */
// "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */
"resolvePackageJsonExports": true /* Use the package.json 'exports' field when resolving package imports. */,
"resolvePackageJsonImports": true /* Use the package.json 'imports' field when resolving imports. */,
// "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */
// "noUncheckedSideEffectImports": true, /* Check side effect imports. */
// "resolveJsonModule": true, /* Enable importing .json files. */
// "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */
// "noResolve": true, /* Disallow 'import's, 'require's or '<reference>'s from expanding the number of files TypeScript should add to a project. */
/* JavaScript Support */
// "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */
// "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */
// "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */
/* Emit */
// "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */
// "declarationMap": true, /* Create sourcemaps for d.ts files. */
// "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */
// "sourceMap": true, /* Create source map files for emitted JavaScript files. */
// "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */
// "noEmit": true, /* Disable emitting files from a compilation. */
// "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */
// "outDir": "./", /* Specify an output folder for all emitted files. */
// "removeComments": true, /* Disable emitting comments. */
// "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */
// "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */
// "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
// "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */
// "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */
// "newLine": "crlf", /* Set the newline character for emitting files. */
// "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */
// "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */
// "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */
// "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */
// "declarationDir": "./", /* Specify the output directory for generated declaration files. */
/* Interop Constraints */
// "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */
// "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */
// "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */
// "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */
"esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */,
// "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */
"forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */,
/* Type Checking */
"strict": true /* Enable all strict type-checking options. */,
// "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */
// "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */
// "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */
// "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */
// "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */
// "strictBuiltinIteratorReturn": true, /* Built-in iterators are instantiated with a 'TReturn' type of 'undefined' instead of 'any'. */
// "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */
// "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */
// "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */
// "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */
// "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */
// "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */
// "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */
// "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */
// "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */
// "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */
// "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */
// "allowUnusedLabels": true, /* Disable error reporting for unused labels. */
// "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */
/* Completeness */
// "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */
"skipLibCheck": true /* Skip type checking all .d.ts files. */
}
}