@prostgles/prostgles 2.3.6-dev.1786565331 → 2.3.6-dev.1786613371

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 (99) hide show
  1. package/dist/common/DBGeneratedSchema.d.ts +5 -9
  2. package/dist/common/DBGeneratedSchema.d.ts.map +1 -1
  3. package/dist/common/llmUtils.d.ts.map +1 -1
  4. package/dist/server/package.json +3 -2
  5. package/dist/server/src/BackupManager/BackupManager.d.ts +0 -1
  6. package/dist/server/src/BackupManager/BackupManager.d.ts.map +1 -1
  7. package/dist/server/src/ConnectionManager/ConnectionManager.d.ts +1 -2
  8. package/dist/server/src/ConnectionManager/ConnectionManager.d.ts.map +1 -1
  9. package/dist/server/src/ConnectionManager/ConnectionManager.js +9 -5
  10. package/dist/server/src/ConnectionManager/ConnectionManager.js.map +1 -1
  11. package/dist/server/src/ConnectionManager/connectionManagerUtils.d.ts +0 -4
  12. package/dist/server/src/ConnectionManager/connectionManagerUtils.d.ts.map +1 -1
  13. package/dist/server/src/ConnectionManager/connectionManagerUtils.js +1 -8
  14. package/dist/server/src/ConnectionManager/connectionManagerUtils.js.map +1 -1
  15. package/dist/server/src/ConnectionManager/getHotReloadConfigs.d.ts.map +1 -1
  16. package/dist/server/src/ConnectionManager/initConnectionManager.js +1 -1
  17. package/dist/server/src/ConnectionManager/initConnectionManager.js.map +1 -1
  18. package/dist/server/src/ConnectionManager/startConnection.d.ts.map +1 -1
  19. package/dist/server/src/ConnectionManager/startConnection.js +1 -5
  20. package/dist/server/src/ConnectionManager/startConnection.js.map +1 -1
  21. package/dist/server/src/McpHub/DockerSandbox/getDockerRunArgs.d.ts.map +1 -1
  22. package/dist/server/src/McpHub/DockerSandbox/getDockerRunArgs.js +4 -2
  23. package/dist/server/src/McpHub/DockerSandbox/getDockerRunArgs.js.map +1 -1
  24. package/dist/server/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/Prostgles/agenticWorkflow/definitionValidation/validateAgenticWorkflowDefinitions.d.ts.map +1 -1
  25. package/dist/server/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/Prostgles/agenticWorkflow/proxyHandlers/createWorkflowExecutionHandlers.d.ts.map +1 -1
  26. package/dist/server/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/Prostgles/agenticWorkflow/proxyHandlers/getAgentConfigWithDefaults.d.ts.map +1 -1
  27. package/dist/server/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/Prostgles/agenticWorkflow/proxyHandlers/setupOrchestrationToolPermissions.d.ts.map +1 -1
  28. package/dist/server/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/WebDev/tools/getWebDevChatAndConnection.d.ts +0 -1
  29. package/dist/server/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/WebDev/tools/getWebDevChatAndConnection.d.ts.map +1 -1
  30. package/dist/server/src/authConfig/sessionUtils.d.ts.map +1 -1
  31. package/dist/server/src/authConfig/subscribeToAuthSetupChanges.d.ts.map +1 -1
  32. package/dist/server/src/cli/cli.js +2 -1
  33. package/dist/server/src/cli/cli.js.map +1 -1
  34. package/dist/server/src/cli/cliUtils.d.ts +1 -0
  35. package/dist/server/src/cli/cliUtils.d.ts.map +1 -1
  36. package/dist/server/src/cli/cliUtils.js +5 -0
  37. package/dist/server/src/cli/cliUtils.js.map +1 -1
  38. package/dist/server/src/connectionUtils/testDBConnection.d.ts +1 -1
  39. package/dist/server/src/connectionUtils/testDBConnection.d.ts.map +1 -1
  40. package/dist/server/src/connectionUtils/testDBConnection.js +12 -9
  41. package/dist/server/src/connectionUtils/testDBConnection.js.map +1 -1
  42. package/dist/server/src/init/initUsers.d.ts.map +1 -1
  43. package/dist/server/src/init/saveTypescriptFilesForProduction.d.ts.map +1 -1
  44. package/dist/server/src/init/saveTypescriptFilesForProduction.js +3 -1
  45. package/dist/server/src/init/saveTypescriptFilesForProduction.js.map +1 -1
  46. package/dist/server/src/init/startProstgles.d.ts.map +1 -1
  47. package/dist/server/src/init/startProstgles.js +5 -2
  48. package/dist/server/src/init/startProstgles.js.map +1 -1
  49. package/dist/server/src/publish/getPublishLLM.d.ts.map +1 -1
  50. package/dist/server/src/publish/getPublishLlmChats.d.ts.map +1 -1
  51. package/dist/server/src/serverFunctions/adminServerFunctions/getAdminServerFunctions.d.ts +0 -10
  52. package/dist/server/src/serverFunctions/adminServerFunctions/getAdminServerFunctions.d.ts.map +1 -1
  53. package/dist/server/src/serverFunctions/adminServerFunctions/getAdminServerFunctions.js +0 -1
  54. package/dist/server/src/serverFunctions/adminServerFunctions/getAdminServerFunctions.js.map +1 -1
  55. package/dist/server/src/serverFunctions/adminServerFunctions/getAgenticWorkflowFunctions.d.ts.map +1 -1
  56. package/dist/server/src/serverFunctions/adminServerFunctions/getBackupServerFunctions.d.ts.map +1 -1
  57. package/dist/server/src/serverFunctions/adminServerFunctions/getDefineAdminFunction.d.ts.map +1 -1
  58. package/dist/server/src/serverFunctions/adminServerFunctions/getMcpServerFunctions.d.ts.map +1 -1
  59. package/dist/server/src/serverFunctions/adminServerFunctions/getWebAppServerFunctions.d.ts.map +1 -1
  60. package/dist/server/src/serverFunctions/adminServerFunctions/webApp/getTemplatedWebAppConnection.d.ts +0 -1
  61. package/dist/server/src/serverFunctions/adminServerFunctions/webApp/getTemplatedWebAppConnection.d.ts.map +1 -1
  62. package/dist/server/src/serverFunctions/applySampleSchema.d.ts +0 -1
  63. package/dist/server/src/serverFunctions/applySampleSchema.d.ts.map +1 -1
  64. package/dist/server/src/serverFunctions/askLLM/askLLM.d.ts.map +1 -1
  65. package/dist/server/src/serverFunctions/askLLM/getPastMessages.d.ts.map +1 -1
  66. package/dist/server/src/serverFunctions/askLLM/getValidatedAskLLMChatOptions.d.ts.map +1 -1
  67. package/dist/server/src/serverFunctions/askLLM/handleToolUseResultConfirmation.d.ts.map +1 -1
  68. package/dist/server/src/serverFunctions/askLLM/prostglesLLMTools/getMCPServerTools.d.ts.map +1 -1
  69. package/dist/server/src/serverFunctions/askLLM/prostglesLLMTools/getMcpToolsWithDynamicDescription.d.ts.map +1 -1
  70. package/dist/server/src/serverFunctions/deleteConnection.d.ts +0 -1
  71. package/dist/server/src/serverFunctions/deleteConnection.d.ts.map +1 -1
  72. package/dist/server/src/serverFunctions/getConnectionAndDatabaseConfig.d.ts +0 -1
  73. package/dist/server/src/serverFunctions/getConnectionAndDatabaseConfig.d.ts.map +1 -1
  74. package/dist/server/src/serverFunctions/getServerFunctions.d.ts +0 -10
  75. package/dist/server/src/serverFunctions/getServerFunctions.d.ts.map +1 -1
  76. package/dist/server/src/serverFunctions/getServerFunctionsContext.d.ts.map +1 -1
  77. package/dist/server/src/serverFunctions/userServerFunctions/getLLMAccessParams.d.ts.map +1 -1
  78. package/dist/server/src/serverFunctions/userServerFunctions/getUserServerFunctions.d.ts.map +1 -1
  79. package/dist/server/src/tableConfig/tableConfigConnections.d.ts.map +1 -1
  80. package/dist/server/src/tableConfig/tableConfigConnections.js +0 -6
  81. package/dist/server/src/tableConfig/tableConfigConnections.js.map +1 -1
  82. package/dist/server/src/upsertConnection.d.ts +0 -1
  83. package/dist/server/src/upsertConnection.d.ts.map +1 -1
  84. package/package.json +3 -2
  85. package/sample_schemas/crypto/tsconfig.json +4 -0
  86. package/sample_schemas/food_delivery/tsconfig.json +1 -1
  87. package/sample_schemas/property_management/tsconfig.json +1 -1
  88. package/sample_schemas/weather/tsconfig.json +1 -1
  89. package/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/Prostgles/agenticWorkflow/runtimeSdk/addInstrumentationToTsLogic.ts +350 -0
  90. package/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/Prostgles/agenticWorkflow/runtimeSdk/callWorkflowProxy.ts +99 -0
  91. package/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/Prostgles/agenticWorkflow/runtimeSdk/defineAgenticWorkflow.spec.ts +110 -0
  92. package/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/Prostgles/agenticWorkflow/runtimeSdk/defineAgenticWorkflow.ts +576 -0
  93. package/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/Prostgles/agenticWorkflow/runtimeSdk/defineAgenticWorkflowHandlers.ts +127 -0
  94. package/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/Prostgles/agenticWorkflow/runtimeSdk/defineAgenticWorkflowHandlers.types.ts +72 -0
  95. package/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/Prostgles/agenticWorkflow/runtimeSdk/definitionHandler.ts +104 -0
  96. package/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/Prostgles/agenticWorkflow/runtimeSdk/ensureWorkflowIsExecuted.ts +53 -0
  97. package/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/Prostgles/agenticWorkflow/runtimeSdk/getTsLogicSummary.ts +639 -0
  98. package/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/Prostgles/agenticWorkflow/runtimeSdk/orchestrationToolHandlers.ts +55 -0
  99. package/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/Prostgles/agenticWorkflow/runtimeSdk/tableHandlers.ts +108 -0
@@ -0,0 +1,72 @@
1
+ import type { DefineAgenticWorkflow } from "./defineAgenticWorkflow";
2
+
3
+ export type ProxyDbCallData =
4
+ | {
5
+ type: "db/execute_sql" | "db/execute_readonly_sql";
6
+ sql: string;
7
+ query_timeout?: number;
8
+ query_params?: unknown[] | Record<string, unknown>;
9
+ }
10
+ | {
11
+ type: "db/find" | "db/count";
12
+ tableName: string;
13
+ filter?: any;
14
+ limit?: any;
15
+ select?: any;
16
+ orderBy?: any;
17
+ offset?: any;
18
+ }
19
+ | {
20
+ type: "db/insert" | "db/insertMany";
21
+ tableName: string;
22
+ data: any;
23
+ returning?: any;
24
+ onConflict?: any;
25
+ }
26
+ | {
27
+ type: "db/update";
28
+ tableName: string;
29
+ filter: any;
30
+ data: any;
31
+ returning?: any;
32
+ onConflict?: any;
33
+ }
34
+ | {
35
+ type: "db/delete";
36
+ tableName: string;
37
+ filter: any;
38
+ returning?: any;
39
+ };
40
+ export type AgenticWorkflowDefinition = Parameters<DefineAgenticWorkflow>[0];
41
+ export type ProxyCallDataDefinitions = {
42
+ type: "definitions";
43
+ definitions: Parameters<DefineAgenticWorkflow>[0];
44
+ usedTables: string[];
45
+ };
46
+ export type ProxyCallData =
47
+ | ProxyCallDataDefinitions
48
+ | {
49
+ type: "agent";
50
+ agentName: string;
51
+ input: string;
52
+ }
53
+ | {
54
+ type: "tool";
55
+ toolName: string;
56
+ serverName: string;
57
+ input: Record<string, unknown> | undefined;
58
+ }
59
+ | {
60
+ type: "progress";
61
+ percent: number;
62
+ message: string;
63
+ }
64
+ | ProxyDbCallData;
65
+
66
+ const { DOCKER_MCP_ENDPOINT, MODE, USER_INPUT, EXECUTION_MODE } = process.env;
67
+ export const WORKFLOW_ENV_VARS = {
68
+ DOCKER_MCP_ENDPOINT,
69
+ MODE,
70
+ USER_INPUT,
71
+ EXECUTION_MODE,
72
+ };
@@ -0,0 +1,104 @@
1
+ import ts from "typescript";
2
+ import { callWorkflowProxy } from "./callWorkflowProxy";
3
+ import { type DefineAgenticWorkflow } from "./defineAgenticWorkflow";
4
+
5
+ export const definitionHandler = async (
6
+ definitions: Parameters<DefineAgenticWorkflow>[0],
7
+ ) => {
8
+ const usedTables = extractTableNames();
9
+ await callWorkflowProxy({
10
+ type: "definitions",
11
+ definitions,
12
+ usedTables,
13
+ });
14
+ console.log(
15
+ "Definitions sent to MCP proxy, exiting due to MODE=definitions-only",
16
+ );
17
+ process.exit(0);
18
+ };
19
+ const dbTableMethods = new Set([
20
+ "find",
21
+ "findOne",
22
+ "insert",
23
+ "update",
24
+ "delete",
25
+ "count",
26
+ "upsert",
27
+ "findOneOrCreate",
28
+ ]);
29
+
30
+ const extractTableNames = (): string[] => {
31
+ const configPath = ts.findConfigFile(
32
+ __dirname,
33
+ // eslint-disable-next-line @typescript-eslint/unbound-method
34
+ ts.sys.fileExists,
35
+ "tsconfig.json",
36
+ );
37
+ if (!configPath) throw new Error("tsconfig.json not found");
38
+
39
+ // eslint-disable-next-line @typescript-eslint/unbound-method
40
+ const configFile = ts.readConfigFile(configPath, ts.sys.readFile);
41
+ const parsed = ts.parseJsonConfigFileContent(
42
+ configFile.config,
43
+ ts.sys,
44
+ __dirname,
45
+ );
46
+
47
+ const program = ts.createProgram(parsed.fileNames, parsed.options);
48
+ const sourceFile = program.getSourceFile(`${__dirname}/index.ts`);
49
+ if (!sourceFile) throw new Error("index.ts not found");
50
+
51
+ const checker = program.getTypeChecker();
52
+ const tables: string[] = [];
53
+
54
+ /**
55
+ * Matches both:
56
+ * - `db.tableName.method()` where `db` is a destructured DbTableHandler
57
+ * - `databaseHandler.db.tableName.method()` where the parent is DatabaseHandler
58
+ */
59
+ const isDbTableHandlerExpr = (node: ts.Expression): boolean => {
60
+ const type = checker.getTypeAtLocation(node);
61
+
62
+ // Covers the destructured case: `const { db } = databaseHandler`
63
+ if (type.aliasSymbol?.getName() === "DbTableHandler") return true;
64
+
65
+ // Covers the direct property access case: `databaseHandler.db`
66
+ if (ts.isPropertyAccessExpression(node) && node.name.text === "db") {
67
+ const parentType = checker.getTypeAtLocation(node.expression);
68
+ const parentSymbol = parentType.aliasSymbol ?? parentType.getSymbol();
69
+ return parentSymbol?.getName() === "DatabaseHandler";
70
+ }
71
+
72
+ return false;
73
+ };
74
+
75
+ const visit = (node: ts.Node): void => {
76
+ /**
77
+ * Target AST shape:
78
+ * CallExpression
79
+ * PropertyAccessExpression <- `.method()`
80
+ * PropertyAccessExpression <- `.tableName` ← extract this
81
+ * Expression (DbTableHandler) <- `db`
82
+ */
83
+ if (ts.isCallExpression(node)) {
84
+ const expr = node.expression;
85
+ if (
86
+ ts.isPropertyAccessExpression(expr) &&
87
+ dbTableMethods.has(expr.name.text)
88
+ ) {
89
+ const tableAccess = expr.expression;
90
+ if (
91
+ ts.isPropertyAccessExpression(tableAccess) &&
92
+ isDbTableHandlerExpr(tableAccess.expression)
93
+ ) {
94
+ tables.push(tableAccess.name.text);
95
+ }
96
+ }
97
+ }
98
+
99
+ ts.forEachChild(node, visit);
100
+ };
101
+
102
+ visit(sourceFile);
103
+ return Array.from(new Set(tables));
104
+ };
@@ -0,0 +1,53 @@
1
+ import { WORKFLOW_ENV_VARS } from "./defineAgenticWorkflowHandlers.types";
2
+
3
+ export const assertWorkflowStarted = (runState: { wasStarted: boolean }) => {
4
+ if (!WORKFLOW_ENV_VARS.DOCKER_MCP_ENDPOINT) {
5
+ // Not running inside container
6
+ return;
7
+ }
8
+
9
+ process.on("unhandledRejection", (reason) => {
10
+ console.error("Unhandled Rejection:\n", reason);
11
+ process.exit(1);
12
+ });
13
+
14
+ process.on("uncaughtException", (error) => {
15
+ console.error("Uncaught Exception:\n", error);
16
+ process.exit(1);
17
+ });
18
+
19
+ setTimeout(() => {
20
+ if (runState.wasStarted) {
21
+ return;
22
+ }
23
+ console.error(`
24
+ defineAgenticWorkflow was not called within 1 second of the container starting.
25
+ This likely means there is an error in your workflow code that is preventing it from running, or you are not using defineAgenticWorkflow correctly.
26
+ When generating workflow code, you MUST:
27
+
28
+ 1. Use defineAgenticWorkflow() - NOT exported functions
29
+ 2. Structure must be:
30
+
31
+ \`\`\`typescript
32
+ import { defineAgenticWorkflow } from "./defineAgenticWorkflow";
33
+ void defineAgenticWorkflow(
34
+ {
35
+ name: "Workflow Name",
36
+ // workflow parameters
37
+ },
38
+ async ({ agentName }) => {
39
+ // workflow logic
40
+ },
41
+ );
42
+ \`\`\`
43
+
44
+ 3. DO NOT use:
45
+ - export default function
46
+ - export const myWorkflow
47
+ - Any other export syntax
48
+
49
+ 4. The workflow callback is the SECOND argument to defineAgenticWorkflow
50
+ `);
51
+ process.exit(1);
52
+ }, 1000);
53
+ };