0pflow 0.1.0-dev.a318c24 → 0.1.0-dev.b8b505d
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.
- package/dist/__tests__/factory.test.js +7 -0
- package/dist/__tests__/factory.test.js.map +1 -1
- package/dist/__tests__/integration.e2e.test.js +2 -1
- package/dist/__tests__/integration.e2e.test.js.map +1 -1
- package/dist/__tests__/integration.test.js +87 -82
- package/dist/__tests__/integration.test.js.map +1 -1
- package/dist/agent.d.ts +1 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +1 -1
- package/dist/agent.js.map +1 -1
- package/dist/cli/app.d.ts +6 -0
- package/dist/cli/app.d.ts.map +1 -1
- package/dist/cli/app.js +27 -0
- package/dist/cli/app.js.map +1 -1
- package/dist/cli/index.js +23 -20
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/mcp/lib/scaffolding.d.ts +33 -0
- package/dist/cli/mcp/lib/scaffolding.d.ts.map +1 -0
- package/dist/cli/mcp/lib/scaffolding.js +254 -0
- package/dist/cli/mcp/lib/scaffolding.js.map +1 -0
- package/dist/cli/mcp/tools/createApp.d.ts.map +1 -1
- package/dist/cli/mcp/tools/createApp.js +6 -59
- package/dist/cli/mcp/tools/createApp.js.map +1 -1
- package/dist/cli/mcp/tools/createDatabase.d.ts.map +1 -1
- package/dist/cli/mcp/tools/createDatabase.js +2 -41
- package/dist/cli/mcp/tools/createDatabase.js.map +1 -1
- package/dist/cli/mcp/tools/getConnectionInfo.d.ts.map +1 -1
- package/dist/cli/mcp/tools/getConnectionInfo.js +4 -10
- package/dist/cli/mcp/tools/getConnectionInfo.js.map +1 -1
- package/dist/cli/mcp/tools/index.d.ts +0 -7
- package/dist/cli/mcp/tools/index.d.ts.map +1 -1
- package/dist/cli/mcp/tools/index.js +0 -2
- package/dist/cli/mcp/tools/index.js.map +1 -1
- package/dist/cli/mcp/tools/setupAppSchema.d.ts.map +1 -1
- package/dist/cli/mcp/tools/setupAppSchema.js +6 -139
- package/dist/cli/mcp/tools/setupAppSchema.js.map +1 -1
- package/dist/cli/run.d.ts +2 -0
- package/dist/cli/run.d.ts.map +1 -0
- package/dist/cli/run.js +391 -0
- package/dist/cli/run.js.map +1 -0
- package/dist/connections/resolver.d.ts +4 -4
- package/dist/connections/resolver.d.ts.map +1 -1
- package/dist/connections/resolver.js +12 -8
- package/dist/connections/resolver.js.map +1 -1
- package/dist/connections/schema.d.ts +3 -1
- package/dist/connections/schema.d.ts.map +1 -1
- package/dist/connections/schema.js +10 -4
- package/dist/connections/schema.js.map +1 -1
- package/dist/dev-ui/api.d.ts +3 -0
- package/dist/dev-ui/api.d.ts.map +1 -1
- package/dist/dev-ui/api.js +3 -3
- package/dist/dev-ui/api.js.map +1 -1
- package/dist/dev-ui/dag/extractor.d.ts.map +1 -1
- package/dist/dev-ui/dag/extractor.js +7 -19
- package/dist/dev-ui/dag/extractor.js.map +1 -1
- package/dist/dev-ui/dev-server.d.ts +4 -0
- package/dist/dev-ui/dev-server.d.ts.map +1 -1
- package/dist/dev-ui/dev-server.js +81 -17
- package/dist/dev-ui/dev-server.js.map +1 -1
- package/dist/dev-ui/pty.d.ts +16 -0
- package/dist/dev-ui/pty.d.ts.map +1 -0
- package/dist/dev-ui/pty.js +87 -0
- package/dist/dev-ui/pty.js.map +1 -0
- package/dist/dev-ui/ws.d.ts +26 -1
- package/dist/dev-ui/ws.d.ts.map +1 -1
- package/dist/dev-ui/ws.js +14 -1
- package/dist/dev-ui/ws.js.map +1 -1
- package/dist/dev-ui-client/assets/index-C-LxzUII.css +32 -0
- package/dist/dev-ui-client/assets/index-aAIwXl4O.js +127 -0
- package/dist/dev-ui-client/index.html +2 -2
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +3 -3
- package/dist/factory.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +2 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +6 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +7 -0
- package/dist/version.js.map +1 -0
- package/dist/workflow.d.ts +1 -1
- package/dist/workflow.d.ts.map +1 -1
- package/dist/workflow.js +9 -2
- package/dist/workflow.js.map +1 -1
- package/package.json +9 -3
- package/templates/app/package.json +1 -0
- package/dist/cli/install.d.ts +0 -63
- package/dist/cli/install.d.ts.map +0 -1
- package/dist/cli/install.js +0 -269
- package/dist/cli/install.js.map +0 -1
- package/dist/cli/mcp/tools/startDevUi.d.ts +0 -15
- package/dist/cli/mcp/tools/startDevUi.d.ts.map +0 -1
- package/dist/cli/mcp/tools/startDevUi.js +0 -92
- package/dist/cli/mcp/tools/startDevUi.js.map +0 -1
- package/dist/dev-ui-client/assets/index-B5wNJx8a.js +0 -77
- package/dist/dev-ui-client/assets/index-DpOZNNnF.css +0 -1
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>0pflow Dev UI</title>
|
|
7
|
-
<script type="module" crossorigin src="/assets/index-
|
|
8
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-aAIwXl4O.js"></script>
|
|
8
|
+
<link rel="stylesheet" crossorigin href="/assets/index-C-LxzUII.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<div id="root"></div>
|
package/dist/factory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAmB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAmB,MAAM,YAAY,CAAC;AAStE;;GAEG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CA0GtE"}
|
package/dist/factory.js
CHANGED
|
@@ -3,7 +3,6 @@ import { initializeDBOS, shutdownDBOS } from "./dbos.js";
|
|
|
3
3
|
import { NodeRegistry } from "./nodes/registry.js";
|
|
4
4
|
import { configureAgentRuntime } from "./agent.js";
|
|
5
5
|
import { Workflow, configureWorkflowRuntime } from "./workflow.js";
|
|
6
|
-
import { ensureConnectionsTable } from "./connections/index.js";
|
|
7
6
|
import { createIntegrationProvider } from "./connections/integration-provider.js";
|
|
8
7
|
import pg from "pg";
|
|
9
8
|
/**
|
|
@@ -33,9 +32,9 @@ export async function create0pflow(config) {
|
|
|
33
32
|
const integrationProvider = await createIntegrationProvider(config.nangoSecretKey);
|
|
34
33
|
// Create shared pg pool for connection management (needed for local connection mapping)
|
|
35
34
|
const pool = new pg.Pool({ connectionString: config.databaseUrl });
|
|
36
|
-
|
|
35
|
+
const appSchema = config.appName;
|
|
37
36
|
// Configure workflow runtime with pool + integration provider
|
|
38
|
-
configureWorkflowRuntime(pool, integrationProvider);
|
|
37
|
+
configureWorkflowRuntime(pool, integrationProvider, appSchema);
|
|
39
38
|
// Build node registry (includes built-in nodes + user nodes)
|
|
40
39
|
// Nodes can be used both via ctx.run() and as agent tools
|
|
41
40
|
const nodeRegistry = new NodeRegistry({
|
|
@@ -47,6 +46,7 @@ export async function create0pflow(config) {
|
|
|
47
46
|
modelConfig: config.modelConfig,
|
|
48
47
|
pool,
|
|
49
48
|
integrationProvider,
|
|
49
|
+
appSchema,
|
|
50
50
|
});
|
|
51
51
|
return {
|
|
52
52
|
listWorkflows: () => registry.listWorkflows(),
|
package/dist/factory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,wBAAwB,EAAoB,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export { getDefaultModelConfig, createModelAndProvider, parseModelString, } from
|
|
|
18
18
|
export type { ModelConfig, ModelProvider, ModelAndProvider, Provider, } from "./nodes/agent/model-config.js";
|
|
19
19
|
export { executeAgent } from "./nodes/agent/executor.js";
|
|
20
20
|
export type { AgentExecutionResult, ExecuteAgentOptions, AgentTool, AgentTools, } from "./nodes/agent/executor.js";
|
|
21
|
-
export {
|
|
21
|
+
export { resolveConnectionId, upsertConnection, listConnections, deleteConnection, initNango, getNango, fetchCredentials, createIntegrationProvider, } from "./connections/index.js";
|
|
22
22
|
export type { ConnectionMapping, IntegrationProvider } from "./connections/index.js";
|
|
23
23
|
export type { Executable, WorkflowContext, ConnectionCredentials, LogLevel, PflowConfig, Pflow, } from "./types.js";
|
|
24
24
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG1C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE5E,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGnE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGjE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChF,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,QAAQ,GACT,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,EACT,UAAU,GACX,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG1C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE5E,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGnE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGjE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChF,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,QAAQ,GACT,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,EACT,UAAU,GACX,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAGrF,YAAY,EACV,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,QAAQ,EACR,WAAW,EACX,KAAK,GACN,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -18,5 +18,5 @@ export { parseAgentSpec, parseAgentSpecContent } from "./nodes/agent/parser.js";
|
|
|
18
18
|
export { getDefaultModelConfig, createModelAndProvider, parseModelString, } from "./nodes/agent/model-config.js";
|
|
19
19
|
export { executeAgent } from "./nodes/agent/executor.js";
|
|
20
20
|
// Connection management
|
|
21
|
-
export {
|
|
21
|
+
export { resolveConnectionId, upsertConnection, listConnections, deleteConnection, initNango, getNango, fetchCredentials, createIntegrationProvider, } from "./connections/index.js";
|
|
22
22
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,qCAAqC;AACrC,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,UAAU;AACV,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,YAAY;AACZ,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,uBAAuB;AACvB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,4CAA4C;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAEjE,2CAA2C;AAC3C,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AAOvC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAQzD,wBAAwB;AACxB,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,qCAAqC;AACrC,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,UAAU;AACV,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,YAAY;AACZ,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,uBAAuB;AACvB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,4CAA4C;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAEjE,2CAA2C;AAC3C,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AAOvC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAQzD,wBAAwB;AACxB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -43,8 +43,8 @@ type AnyExecutable = Executable<any, any>;
|
|
|
43
43
|
export interface PflowConfig {
|
|
44
44
|
/** Database connection URL for DBOS durability */
|
|
45
45
|
databaseUrl: string;
|
|
46
|
-
/** Application name (used for
|
|
47
|
-
appName
|
|
46
|
+
/** Application name (used for DB schema naming and connection table) */
|
|
47
|
+
appName: string;
|
|
48
48
|
/** Registered workflows */
|
|
49
49
|
workflows?: Record<string, AnyExecutable>;
|
|
50
50
|
/** Registered agents */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9E;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,mEAAmE;IACnE,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,EACnB,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtB,8DAA8D;IAC9D,aAAa,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEzE,yBAAyB;IACzB,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;CAClD;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAG3D,KAAK,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,UAAU;;;;CAIb,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,MAAM,EAAE,0CAA0C;IAClD,WAAW,EAAE,SAAS;IACtB,SAAS,EAAE,0BAA0B;CAC7B,CAAC"}
|
package/dist/workflow.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export interface WorkflowExecutable<TInput = unknown, TOutput = unknown> extends
|
|
|
23
23
|
* Configure the workflow runtime (called by factory)
|
|
24
24
|
* @internal
|
|
25
25
|
*/
|
|
26
|
-
export declare function configureWorkflowRuntime(sql: pg.Pool | null, integrationProvider: IntegrationProvider | null): void;
|
|
26
|
+
export declare function configureWorkflowRuntime(sql: pg.Pool | null, integrationProvider: IntegrationProvider | null, appSchema: string): void;
|
|
27
27
|
/**
|
|
28
28
|
* Return type for createNodeWrapper — the executable plus a setter
|
|
29
29
|
* to override the workflow name used for connection resolution.
|
package/dist/workflow.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAmC,MAAM,YAAY,CAAC;AAE/F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,MAAM,EAAE,OAAO;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/B,YAAY,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,GAAG,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACjE;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,CACrE,SAAQ,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAmC,MAAM,YAAY,CAAC;AAE/F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,MAAM,EAAE,OAAO;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/B,YAAY,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,GAAG,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACjE;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,CACrE,SAAQ,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAiHD;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,EACnB,mBAAmB,EAAE,mBAAmB,GAAG,IAAI,EAC/C,SAAS,EAAE,MAAM,GAChB,IAAI,CAIN;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IAC9D,UAAU,EAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChD,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;CAC3D;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ;WACZ,MAAM,EAAE,OAAO,cACR,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9C,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC;IA6BtC;;;;;OAKG;sBACe,MAAM,EAAE,OAAO,YACrB,MAAM,QACV,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC;CAkChC,CAAC"}
|
package/dist/workflow.js
CHANGED
|
@@ -33,7 +33,7 @@ function createDurableContext(config) {
|
|
|
33
33
|
`Declared integrations: [${declared}]. ` +
|
|
34
34
|
`Add "${integrationId}" to the node's integrations array.`);
|
|
35
35
|
}
|
|
36
|
-
const connectionId = await resolveConnectionId(config.sql, config.workflowName, _currentNodeName, integrationId);
|
|
36
|
+
const connectionId = await resolveConnectionId(config.sql, config.workflowName, _currentNodeName, integrationId, config.appSchema);
|
|
37
37
|
if (!connectionId) {
|
|
38
38
|
throw new Error(`No connection configured for integration "${integrationId}" ` +
|
|
39
39
|
`(workflow="${config.workflowName}", node="${_currentNodeName}"). ` +
|
|
@@ -56,19 +56,24 @@ function createDurableContext(config) {
|
|
|
56
56
|
*/
|
|
57
57
|
const POOL_KEY = Symbol.for("opflow.getWorkflowPool()");
|
|
58
58
|
const PROVIDER_KEY = Symbol.for("opflow.getWorkflowIntegrationProvider()");
|
|
59
|
+
const SCHEMA_KEY = Symbol.for("opflow.getWorkflowAppSchema()");
|
|
59
60
|
function getWorkflowPool() {
|
|
60
61
|
return globalThis[POOL_KEY] ?? null;
|
|
61
62
|
}
|
|
62
63
|
function getWorkflowIntegrationProvider() {
|
|
63
64
|
return globalThis[PROVIDER_KEY] ?? null;
|
|
64
65
|
}
|
|
66
|
+
function getWorkflowAppSchema() {
|
|
67
|
+
return globalThis[SCHEMA_KEY] ?? "public";
|
|
68
|
+
}
|
|
65
69
|
/**
|
|
66
70
|
* Configure the workflow runtime (called by factory)
|
|
67
71
|
* @internal
|
|
68
72
|
*/
|
|
69
|
-
export function configureWorkflowRuntime(sql, integrationProvider) {
|
|
73
|
+
export function configureWorkflowRuntime(sql, integrationProvider, appSchema) {
|
|
70
74
|
globalThis[POOL_KEY] = sql;
|
|
71
75
|
globalThis[PROVIDER_KEY] = integrationProvider;
|
|
76
|
+
globalThis[SCHEMA_KEY] = appSchema;
|
|
72
77
|
}
|
|
73
78
|
/**
|
|
74
79
|
* Factory for creating workflow executables
|
|
@@ -81,6 +86,7 @@ export const Workflow = {
|
|
|
81
86
|
sql: getWorkflowPool(),
|
|
82
87
|
integrationProvider: getWorkflowIntegrationProvider(),
|
|
83
88
|
workflowName: definition.name,
|
|
89
|
+
appSchema: getWorkflowAppSchema(),
|
|
84
90
|
});
|
|
85
91
|
return definition.run(ctx, inputs);
|
|
86
92
|
}
|
|
@@ -114,6 +120,7 @@ export const Workflow = {
|
|
|
114
120
|
sql: getWorkflowPool(),
|
|
115
121
|
integrationProvider: getWorkflowIntegrationProvider(),
|
|
116
122
|
workflowName: _parentWorkflowName ?? wrapperName,
|
|
123
|
+
appSchema: getWorkflowAppSchema(),
|
|
117
124
|
});
|
|
118
125
|
_parentWorkflowName = undefined;
|
|
119
126
|
return ctx.run(node, inputs);
|
package/dist/workflow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "0pflow",
|
|
3
|
-
"version": "0.1.0-dev.
|
|
3
|
+
"version": "0.1.0-dev.b8b505d",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -22,26 +22,28 @@
|
|
|
22
22
|
"templates"
|
|
23
23
|
],
|
|
24
24
|
"scripts": {
|
|
25
|
-
"build": "tsc --build && vite build dev-ui && chmod +x dist/cli/index.js",
|
|
25
|
+
"build": "node scripts/generate-version.js && tsc --build && vite build dev-ui && chmod +x dist/cli/index.js",
|
|
26
26
|
"test": "vitest run",
|
|
27
27
|
"test:watch": "vitest"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@ai-sdk/anthropic": "^3.0.23",
|
|
31
31
|
"@ai-sdk/openai": "^3.0.19",
|
|
32
|
+
"@clack/prompts": "^1.0.1",
|
|
32
33
|
"@dbos-inc/dbos-sdk": "^4.7.9",
|
|
33
34
|
"@mozilla/readability": "^0.6.0",
|
|
35
|
+
"@nangohq/node": "^0.45.0",
|
|
34
36
|
"@tigerdata/mcp-boilerplate": "^1.1.0",
|
|
35
37
|
"ai": "^6.0.49",
|
|
36
38
|
"chokidar": "^4.0.0",
|
|
37
39
|
"cli-table3": "^0.6.5",
|
|
38
|
-
"@nangohq/node": "^0.45.0",
|
|
39
40
|
"commander": "^14.0.2",
|
|
40
41
|
"dotenv": "^17.2.3",
|
|
41
42
|
"gray-matter": "^4.0.3",
|
|
42
43
|
"handlebars": "^4.7.8",
|
|
43
44
|
"jiti": "^2.6.1",
|
|
44
45
|
"linkedom": "^0.18.12",
|
|
46
|
+
"node-pty": "1.2.0-beta.11",
|
|
45
47
|
"pg": "^8.17.2",
|
|
46
48
|
"picocolors": "^1.1.1",
|
|
47
49
|
"tree-sitter-typescript": "^0.23.2",
|
|
@@ -57,10 +59,14 @@
|
|
|
57
59
|
"@types/react-dom": "^19.0.0",
|
|
58
60
|
"@types/ws": "^8.5.0",
|
|
59
61
|
"@vitejs/plugin-react": "^4.3.0",
|
|
62
|
+
"@xterm/addon-fit": "^0.11.0",
|
|
63
|
+
"@xterm/addon-web-links": "^0.12.0",
|
|
64
|
+
"@xterm/xterm": "^6.0.0",
|
|
60
65
|
"@xyflow/react": "^12.0.0",
|
|
61
66
|
"react": "^19.0.0",
|
|
62
67
|
"react-dom": "^19.0.0",
|
|
63
68
|
"tailwindcss": "^4.0.0",
|
|
69
|
+
"tsx": "^4.21.0",
|
|
64
70
|
"typescript": "^5.9.3",
|
|
65
71
|
"vite": "^6.0.0",
|
|
66
72
|
"vitest": "^4.0.15"
|
package/dist/cli/install.d.ts
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
export interface McpCommandResult {
|
|
2
|
-
command: string[];
|
|
3
|
-
isLocal: boolean;
|
|
4
|
-
packageRoot?: string;
|
|
5
|
-
}
|
|
6
|
-
export interface InstallSettings {
|
|
7
|
-
mcpCommand: string[];
|
|
8
|
-
installedAt: string;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Build the MCP command by taking the current invocation and replacing "install" with "mcp start"
|
|
12
|
-
*/
|
|
13
|
-
export declare function buildMcpCommand(): McpCommandResult;
|
|
14
|
-
/**
|
|
15
|
-
* Get the settings directory path
|
|
16
|
-
*/
|
|
17
|
-
export declare function getSettingsDir(): string;
|
|
18
|
-
/**
|
|
19
|
-
* Get the settings file path
|
|
20
|
-
*/
|
|
21
|
-
export declare function getSettingsPath(): string;
|
|
22
|
-
/**
|
|
23
|
-
* Read current settings
|
|
24
|
-
*/
|
|
25
|
-
export declare function readSettings(): InstallSettings | null;
|
|
26
|
-
/**
|
|
27
|
-
* Write settings to disk
|
|
28
|
-
*/
|
|
29
|
-
export declare function writeSettings(settings: InstallSettings): void;
|
|
30
|
-
/**
|
|
31
|
-
* Check if Claude Code CLI is available
|
|
32
|
-
*/
|
|
33
|
-
export declare function isClaudeCliAvailable(): boolean;
|
|
34
|
-
/**
|
|
35
|
-
* Add the 0pflow marketplace to Claude Code
|
|
36
|
-
*/
|
|
37
|
-
export declare function addMarketplace(mcpResult: McpCommandResult, stdio?: "inherit" | "ignore"): {
|
|
38
|
-
success: boolean;
|
|
39
|
-
error?: string;
|
|
40
|
-
};
|
|
41
|
-
/**
|
|
42
|
-
* Install the 0pflow plugin to Claude Code
|
|
43
|
-
*/
|
|
44
|
-
export declare function installPlugin(stdio?: "inherit" | "ignore"): {
|
|
45
|
-
success: boolean;
|
|
46
|
-
error?: string;
|
|
47
|
-
};
|
|
48
|
-
export interface InstallOptions {
|
|
49
|
-
force?: boolean;
|
|
50
|
-
verbose?: boolean;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Run the install command
|
|
54
|
-
*/
|
|
55
|
-
export declare function runInstall(options?: InstallOptions): Promise<void>;
|
|
56
|
-
export interface UninstallOptions {
|
|
57
|
-
verbose?: boolean;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Run the uninstall command
|
|
61
|
-
*/
|
|
62
|
-
export declare function runUninstall(options?: UninstallOptions): Promise<void>;
|
|
63
|
-
//# sourceMappingURL=install.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/cli/install.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,gBAAgB,CAiElD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAGvC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,eAAe,GAAG,IAAI,CAUrD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAM7D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAO9C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,gBAAgB,EAAE,KAAK,GAAE,SAAS,GAAG,QAAoB,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAazI;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,GAAE,SAAS,GAAG,QAAoB,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAU3G;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuE5E;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgChF"}
|
package/dist/cli/install.js
DELETED
|
@@ -1,269 +0,0 @@
|
|
|
1
|
-
import { execSync } from "node:child_process";
|
|
2
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
3
|
-
import { dirname, join, resolve } from "node:path";
|
|
4
|
-
import pc from "picocolors";
|
|
5
|
-
import { getNpmVersionForMcp } from "./index.js";
|
|
6
|
-
function printBanner() {
|
|
7
|
-
console.log();
|
|
8
|
-
console.log(pc.red(" ___ __ _"));
|
|
9
|
-
console.log(pc.red(" / _ \\ _ __ / _| | _____ __"));
|
|
10
|
-
console.log(pc.red(" | | | | '_ \\ |_| |/ _ \\ \\ /\\ / /"));
|
|
11
|
-
console.log(pc.red(" | |_| | |_) | _| | (_) \\ V V /"));
|
|
12
|
-
console.log(pc.red(" \\___/| .__/|_| |_|\\___/ \\_/\\_/"));
|
|
13
|
-
console.log(pc.red(" |_|"));
|
|
14
|
-
console.log();
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Build the MCP command by taking the current invocation and replacing "install" with "mcp start"
|
|
18
|
-
*/
|
|
19
|
-
export function buildMcpCommand() {
|
|
20
|
-
const args = [...process.argv];
|
|
21
|
-
// Find and replace "install" with "mcp", "start"
|
|
22
|
-
const installIndex = args.findIndex(arg => arg === "install");
|
|
23
|
-
const baseArgs = installIndex !== -1
|
|
24
|
-
? args.slice(0, installIndex)
|
|
25
|
-
: args;
|
|
26
|
-
const scriptPath = baseArgs[1] || "";
|
|
27
|
-
// If we're running a .ts file, tsx hides itself from argv
|
|
28
|
-
// so we see "node file.ts" but need tsx to actually run it.
|
|
29
|
-
// We resolve the full path to tsx because npx spawns via sh which
|
|
30
|
-
// may not have nvm/fnm PATH entries (causes "sh: tsx: command not found").
|
|
31
|
-
if (scriptPath.endsWith(".ts")) {
|
|
32
|
-
// Script is at packages/core/src/cli/index.ts, repo root is 4 levels up
|
|
33
|
-
const packageRoot = resolve(dirname(scriptPath), "../../../..");
|
|
34
|
-
// Try to find tsx: check npx cache, then fall back to npx -y tsx
|
|
35
|
-
let tsxPath = "tsx";
|
|
36
|
-
try {
|
|
37
|
-
const resolved = execSync("npx -y tsx --which 2>/dev/null || which tsx 2>/dev/null", {
|
|
38
|
-
encoding: "utf-8",
|
|
39
|
-
timeout: 10000,
|
|
40
|
-
}).trim();
|
|
41
|
-
if (resolved)
|
|
42
|
-
tsxPath = resolved;
|
|
43
|
-
}
|
|
44
|
-
catch {
|
|
45
|
-
// If we can't resolve tsx, try the npx cache directly
|
|
46
|
-
const home = process.env.HOME || "~";
|
|
47
|
-
const { readdirSync } = require("node:fs");
|
|
48
|
-
try {
|
|
49
|
-
const npxCacheDir = join(home, ".npm", "_npx");
|
|
50
|
-
for (const entry of readdirSync(npxCacheDir)) {
|
|
51
|
-
const candidate = join(npxCacheDir, entry, "node_modules", ".bin", "tsx");
|
|
52
|
-
if (existsSync(candidate)) {
|
|
53
|
-
tsxPath = candidate;
|
|
54
|
-
break;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
catch {
|
|
59
|
-
// Fall through with bare "tsx"
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
return {
|
|
63
|
-
command: [tsxPath, scriptPath, "mcp", "start"],
|
|
64
|
-
isLocal: true,
|
|
65
|
-
packageRoot,
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
// If running from npx cache or node_modules, use npx 0pflow@version
|
|
69
|
-
if (scriptPath.includes(".npm/_npx") || scriptPath.includes("node_modules/0pflow")) {
|
|
70
|
-
const ver = getNpmVersionForMcp();
|
|
71
|
-
return {
|
|
72
|
-
command: ["npx", "-y", `0pflow@${ver}`, "mcp", "start"],
|
|
73
|
-
isLocal: false,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
return {
|
|
77
|
-
command: [...baseArgs, "mcp", "start"],
|
|
78
|
-
isLocal: false,
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Get the settings directory path
|
|
83
|
-
*/
|
|
84
|
-
export function getSettingsDir() {
|
|
85
|
-
const home = process.env.HOME || process.env.USERPROFILE || "~";
|
|
86
|
-
return join(home, ".config", "0pflow");
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Get the settings file path
|
|
90
|
-
*/
|
|
91
|
-
export function getSettingsPath() {
|
|
92
|
-
return join(getSettingsDir(), "settings.json");
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Read current settings
|
|
96
|
-
*/
|
|
97
|
-
export function readSettings() {
|
|
98
|
-
const settingsPath = getSettingsPath();
|
|
99
|
-
if (!existsSync(settingsPath)) {
|
|
100
|
-
return null;
|
|
101
|
-
}
|
|
102
|
-
try {
|
|
103
|
-
return JSON.parse(readFileSync(settingsPath, "utf-8"));
|
|
104
|
-
}
|
|
105
|
-
catch {
|
|
106
|
-
return null;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Write settings to disk
|
|
111
|
-
*/
|
|
112
|
-
export function writeSettings(settings) {
|
|
113
|
-
const settingsDir = getSettingsDir();
|
|
114
|
-
if (!existsSync(settingsDir)) {
|
|
115
|
-
mkdirSync(settingsDir, { recursive: true });
|
|
116
|
-
}
|
|
117
|
-
writeFileSync(getSettingsPath(), JSON.stringify(settings, null, 2) + "\n");
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Check if Claude Code CLI is available
|
|
121
|
-
*/
|
|
122
|
-
export function isClaudeCliAvailable() {
|
|
123
|
-
try {
|
|
124
|
-
execSync("claude --version", { stdio: "ignore" });
|
|
125
|
-
return true;
|
|
126
|
-
}
|
|
127
|
-
catch {
|
|
128
|
-
return false;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Add the 0pflow marketplace to Claude Code
|
|
133
|
-
*/
|
|
134
|
-
export function addMarketplace(mcpResult, stdio = "inherit") {
|
|
135
|
-
try {
|
|
136
|
-
const marketplaceSource = mcpResult.isLocal && mcpResult.packageRoot
|
|
137
|
-
? mcpResult.packageRoot
|
|
138
|
-
: "timescale/0pflow";
|
|
139
|
-
execSync(`claude plugin marketplace add ${marketplaceSource}`, { stdio });
|
|
140
|
-
return { success: true };
|
|
141
|
-
}
|
|
142
|
-
catch (err) {
|
|
143
|
-
return {
|
|
144
|
-
success: false,
|
|
145
|
-
error: err instanceof Error ? err.message : String(err)
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Install the 0pflow plugin to Claude Code
|
|
151
|
-
*/
|
|
152
|
-
export function installPlugin(stdio = "inherit") {
|
|
153
|
-
try {
|
|
154
|
-
execSync("claude plugin install 0pflow", { stdio });
|
|
155
|
-
return { success: true };
|
|
156
|
-
}
|
|
157
|
-
catch (err) {
|
|
158
|
-
return {
|
|
159
|
-
success: false,
|
|
160
|
-
error: err instanceof Error ? err.message : String(err)
|
|
161
|
-
};
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Run the install command
|
|
166
|
-
*/
|
|
167
|
-
export async function runInstall(options = {}) {
|
|
168
|
-
const { verbose = false } = options;
|
|
169
|
-
// Check if Claude CLI is available
|
|
170
|
-
if (!isClaudeCliAvailable()) {
|
|
171
|
-
console.log(pc.red("Error: Claude Code CLI not found."));
|
|
172
|
-
console.log(pc.dim("Install Claude Code first: https://claude.ai/code"));
|
|
173
|
-
process.exit(1);
|
|
174
|
-
}
|
|
175
|
-
// Build MCP command from current invocation
|
|
176
|
-
const mcpResult = buildMcpCommand();
|
|
177
|
-
if (verbose) {
|
|
178
|
-
console.log(pc.dim("MCP command:"), mcpResult.command.join(" "));
|
|
179
|
-
}
|
|
180
|
-
// Check for existing installation
|
|
181
|
-
const existingSettings = readSettings();
|
|
182
|
-
if (existingSettings && !options.force) {
|
|
183
|
-
console.log(pc.yellow("Already installed."), pc.dim("Use --force to reinstall."));
|
|
184
|
-
return;
|
|
185
|
-
}
|
|
186
|
-
if (existingSettings) {
|
|
187
|
-
console.log(pc.dim("Existing installation found, reinstalling (--force)..."));
|
|
188
|
-
await runUninstall({ verbose });
|
|
189
|
-
}
|
|
190
|
-
// Write settings
|
|
191
|
-
const settings = {
|
|
192
|
-
mcpCommand: mcpResult.command,
|
|
193
|
-
installedAt: new Date().toISOString(),
|
|
194
|
-
};
|
|
195
|
-
writeSettings(settings);
|
|
196
|
-
// Development mode: just show the command to use
|
|
197
|
-
if (mcpResult.isLocal) {
|
|
198
|
-
printBanner();
|
|
199
|
-
console.log(pc.yellow("Development mode detected"));
|
|
200
|
-
console.log();
|
|
201
|
-
console.log(pc.bold("To use the plugin, run Claude Code with:"));
|
|
202
|
-
console.log();
|
|
203
|
-
console.log(pc.cyan(` claude --plugin-dir ${mcpResult.packageRoot}`));
|
|
204
|
-
console.log();
|
|
205
|
-
return;
|
|
206
|
-
}
|
|
207
|
-
// Add marketplace (suppress claude CLI output in non-verbose mode)
|
|
208
|
-
const stdio = verbose ? "inherit" : "ignore";
|
|
209
|
-
const marketplaceResult = addMarketplace(mcpResult, stdio);
|
|
210
|
-
const pluginResult = installPlugin(stdio);
|
|
211
|
-
if (verbose) {
|
|
212
|
-
console.log(marketplaceResult.success ? pc.green("✓ Marketplace added") : pc.yellow("⚠ Marketplace may already exist"));
|
|
213
|
-
console.log(pluginResult.success ? pc.green("✓ Plugin installed") : pc.red("✗ Plugin install failed"));
|
|
214
|
-
}
|
|
215
|
-
if (pluginResult.success) {
|
|
216
|
-
printBanner();
|
|
217
|
-
console.log(pc.green("✓"), "Installed successfully");
|
|
218
|
-
console.log();
|
|
219
|
-
console.log(pc.bold("Next steps:"));
|
|
220
|
-
console.log(pc.dim(" 1. Restart Claude Code in a new project folder"));
|
|
221
|
-
console.log(pc.dim(" 2. Ask Claude to create a workflow, e.g.:"));
|
|
222
|
-
console.log(pc.cyan(' "Create a workflow that enriches leads from a CSV file"'));
|
|
223
|
-
console.log();
|
|
224
|
-
}
|
|
225
|
-
else {
|
|
226
|
-
console.log(pc.red("✗"), "Installation failed");
|
|
227
|
-
process.exit(1);
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
/**
|
|
231
|
-
* Run the uninstall command
|
|
232
|
-
*/
|
|
233
|
-
export async function runUninstall(options = {}) {
|
|
234
|
-
const { verbose = false } = options;
|
|
235
|
-
const stdio = verbose ? "inherit" : "ignore";
|
|
236
|
-
// Uninstall plugin and marketplace from Claude
|
|
237
|
-
if (isClaudeCliAvailable()) {
|
|
238
|
-
try {
|
|
239
|
-
execSync("claude plugin uninstall 0pflow", { stdio });
|
|
240
|
-
if (verbose)
|
|
241
|
-
console.log(pc.green("✓"), "Plugin uninstalled");
|
|
242
|
-
}
|
|
243
|
-
catch {
|
|
244
|
-
if (verbose)
|
|
245
|
-
console.log(pc.yellow("⚠"), "Could not uninstall plugin");
|
|
246
|
-
}
|
|
247
|
-
try {
|
|
248
|
-
execSync("claude plugin marketplace remove 0pflow", { stdio });
|
|
249
|
-
if (verbose)
|
|
250
|
-
console.log(pc.green("✓"), "Marketplace removed");
|
|
251
|
-
}
|
|
252
|
-
catch {
|
|
253
|
-
if (verbose)
|
|
254
|
-
console.log(pc.yellow("⚠"), "Could not remove marketplace");
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
// Remove settings file
|
|
258
|
-
const settingsPath = getSettingsPath();
|
|
259
|
-
if (existsSync(settingsPath)) {
|
|
260
|
-
const { unlinkSync } = await import("node:fs");
|
|
261
|
-
unlinkSync(settingsPath);
|
|
262
|
-
if (verbose)
|
|
263
|
-
console.log(pc.green("✓"), "Settings file removed");
|
|
264
|
-
}
|
|
265
|
-
if (verbose) {
|
|
266
|
-
console.log(pc.green("Uninstalled."));
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
//# sourceMappingURL=install.js.map
|