@minded-ai/mindedjs 1.0.19 → 1.0.21
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/agent.js +13 -8
- package/dist/agent.js.map +1 -1
- package/dist/checkpointer/checkpointSaverFactory.d.ts +7 -0
- package/dist/checkpointer/checkpointSaverFactory.js +30 -0
- package/dist/checkpointer/checkpointSaverFactory.js.map +1 -0
- package/dist/edges/createPromptRouter.js +1 -1
- package/dist/edges/createPromptRouter.js.map +1 -1
- package/dist/platform/mindedCheckpointSaver.js +55 -10
- package/dist/platform/mindedCheckpointSaver.js.map +1 -1
- package/dist/platform/mindedConnection.d.ts +6 -1
- package/dist/platform/mindedConnection.js +92 -42
- package/dist/platform/mindedConnection.js.map +1 -1
- package/dist/platform/mindedConnectionTypes.d.ts +2 -0
- package/dist/platform/mindedConnectionTypes.js.map +1 -1
- package/dist/platform/mindedRequest.js +1 -1
- package/dist/platform/mindedRequest.js.map +1 -1
- package/docs/api-reference/classes/index.Agent.html +2 -2
- package/docs/api-reference/enums/index.EdgeType.html +2 -2
- package/docs/api-reference/enums/index.NodeType.html +2 -2
- package/docs/api-reference/enums/index.TriggerType.html +2 -2
- package/docs/api-reference/enums/index.events.html +2 -2
- package/docs/api-reference/hierarchy.html +1 -1
- package/docs/api-reference/index.html +3 -3
- package/docs/api-reference/interfaces/index.AppToolNode.html +2 -2
- package/docs/api-reference/interfaces/index.AppTriggerNode.html +2 -2
- package/docs/api-reference/interfaces/index.Flow.html +2 -2
- package/docs/api-reference/interfaces/index.JunctionNode.html +2 -2
- package/docs/api-reference/interfaces/index.LogicalConditionEdge.html +2 -2
- package/docs/api-reference/interfaces/index.ManualTriggerNode.html +2 -2
- package/docs/api-reference/interfaces/index.PromptConditionEdge.html +2 -2
- package/docs/api-reference/interfaces/index.PromptNode.html +2 -2
- package/docs/api-reference/interfaces/index.StepForwardEdge.html +2 -2
- package/docs/api-reference/interfaces/index.Tool.html +2 -2
- package/docs/api-reference/interfaces/index.ToolNode.html +2 -2
- package/docs/api-reference/modules/index-1.html +1 -1
- package/docs/api-reference/modules/index.html +1 -1
- package/docs/api-reference/modules.html +1 -1
- package/docs/api-reference/types/index.Edge.html +1 -1
- package/docs/api-reference/types/index.Node.html +1 -1
- package/docs/api-reference/types/index.TriggerNode.html +1 -1
- package/docs/examples/order-refund-flow.md +1 -1
- package/docs/getting-started/installation.md +3 -3
- package/examples/orderRefundAgent/flows/orderRefundFlow.yaml +3 -3
- package/examples/orderRefundAgent/orderRefundAgent.ts +9 -3
- package/package.json +4 -2
- package/src/agent.ts +15 -9
- package/src/checkpointer/checkpointSaverFactory.ts +31 -0
- package/src/edges/createPromptRouter.ts +1 -1
- package/src/platform/mindedCheckpointSaver.ts +75 -18
- package/src/platform/mindedConnection.ts +99 -55
- package/src/platform/mindedConnectionTypes.ts +4 -5
- package/src/platform/mindedRequest.ts +2 -1
- package/test/checkpoint-saver/minded-checkpoint-saver-list.test.ts +138 -0
- package/test/checkpoint-saver/minded-checkpoint-saver.test.ts +99 -0
- package/dist/analytics.d.ts +0 -6
- package/dist/analytics.js +0 -19
- package/dist/analytics.js.map +0 -1
- package/dist/infrastructure.ts/mindedRequest.d.ts +0 -8
- package/dist/infrastructure.ts/mindedRequest.js +0 -22
- package/dist/infrastructure.ts/mindedRequest.js.map +0 -1
package/dist/agent.js
CHANGED
|
@@ -37,7 +37,6 @@ exports.Agent = void 0;
|
|
|
37
37
|
const Flows_types_1 = require("./types/Flows.types");
|
|
38
38
|
const uuid_1 = require("uuid");
|
|
39
39
|
const langgraph_1 = require("@langchain/langgraph");
|
|
40
|
-
const langgraph_2 = require("@langchain/langgraph");
|
|
41
40
|
const nodeFactory_1 = require("./nodes/nodeFactory");
|
|
42
41
|
const LangGraph_types_1 = require("./types/LangGraph.types");
|
|
43
42
|
const edgeFactory_1 = require("./edges/edgeFactory");
|
|
@@ -50,6 +49,7 @@ const yaml = __importStar(require("js-yaml"));
|
|
|
50
49
|
const createLlmInstance_1 = require("./llm/createLlmInstance");
|
|
51
50
|
const dotenv_1 = require("dotenv");
|
|
52
51
|
const path_1 = require("path");
|
|
52
|
+
const checkpointSaverFactory_1 = require("./checkpointer/checkpointSaverFactory");
|
|
53
53
|
(0, dotenv_1.config)({ path: (0, path_1.resolve)(__dirname, '../.env') });
|
|
54
54
|
class Agent {
|
|
55
55
|
constructor(params) {
|
|
@@ -62,14 +62,19 @@ class Agent {
|
|
|
62
62
|
this.tools = tools;
|
|
63
63
|
this.platformToken = platformToken;
|
|
64
64
|
this.llm = (0, createLlmInstance_1.createLlmInstance)(config.llm);
|
|
65
|
-
this.checkpointer = memorySaver ||
|
|
65
|
+
this.checkpointer = memorySaver || (0, checkpointSaverFactory_1.createCheckpointSaver)('');
|
|
66
66
|
this.validate();
|
|
67
67
|
this.compiledGraph = this.initializeGraph();
|
|
68
68
|
if (process.env.NODE_ENV !== 'test' && process.env.NO_PLATFORM_CONNECT !== 'true') {
|
|
69
69
|
this.mindedConnection = new mindedConnection_1.MindedConnection();
|
|
70
70
|
this.mindedConnection.start();
|
|
71
|
-
this.mindedConnection.on(mindedConnectionTypes_1.MindedConnectionSocketMessageType.OnAppTrigger, (
|
|
72
|
-
|
|
71
|
+
this.mindedConnection.on(mindedConnectionTypes_1.MindedConnectionSocketMessageType.OnAppTrigger, async (message) => {
|
|
72
|
+
const trigger = message;
|
|
73
|
+
await this.invoke({
|
|
74
|
+
triggerBody: trigger.body,
|
|
75
|
+
triggerName: trigger.name,
|
|
76
|
+
sessionId: trigger.cnvId,
|
|
77
|
+
});
|
|
73
78
|
});
|
|
74
79
|
}
|
|
75
80
|
}
|
|
@@ -161,10 +166,10 @@ class Agent {
|
|
|
161
166
|
const messages = (_a = handlerResult === null || handlerResult === void 0 ? void 0 : handlerResult.messages) !== null && _a !== void 0 ? _a : [];
|
|
162
167
|
console.log(`Invoking trigger ${triggerName} with session ${session}`);
|
|
163
168
|
const config = { configurable: { thread_id: session, recursionLimit: 3 } };
|
|
164
|
-
const triggerNode = this.compiledGraph.builder.nodes[triggerName];
|
|
165
|
-
if (!triggerNode) {
|
|
166
|
-
|
|
167
|
-
}
|
|
169
|
+
// const triggerNode = this.compiledGraph.builder.nodes[triggerName];
|
|
170
|
+
// if (!triggerNode) {
|
|
171
|
+
// throw new Error(`Trigger node not found: ${triggerName}`);
|
|
172
|
+
// }
|
|
168
173
|
const state = await this.compiledGraph.getState(config);
|
|
169
174
|
// Resume interruption
|
|
170
175
|
if (((_d = (_c = (_b = state.tasks) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.interrupts) === null || _d === void 0 ? void 0 : _d.length) > 0) {
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAA2D;AAE3D,+BAAoC;AAEpC,oDAA2D;
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BaseCheckpointSaver } from '@langchain/langgraph';
|
|
2
|
+
/**
|
|
3
|
+
* Factory function to create the appropriate checkpoint saver based on environment variables
|
|
4
|
+
* @param platformToken - Optional platform token for remote checkpoint saving
|
|
5
|
+
* @returns BaseCheckpointSaver instance (either MemorySaver or MindedCheckpointSaver)
|
|
6
|
+
*/
|
|
7
|
+
export declare function createCheckpointSaver(platformToken: string): BaseCheckpointSaver;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createCheckpointSaver = createCheckpointSaver;
|
|
4
|
+
const langgraph_1 = require("@langchain/langgraph");
|
|
5
|
+
const mindedCheckpointSaver_1 = require("../platform/mindedCheckpointSaver");
|
|
6
|
+
/**
|
|
7
|
+
* Factory function to create the appropriate checkpoint saver based on environment variables
|
|
8
|
+
* @param platformToken - Optional platform token for remote checkpoint saving
|
|
9
|
+
* @returns BaseCheckpointSaver instance (either MemorySaver or MindedCheckpointSaver)
|
|
10
|
+
*/
|
|
11
|
+
function createCheckpointSaver(platformToken) {
|
|
12
|
+
const useRemoteCheckpointSaver = process.env.REMOTE_CHECKPOINT_SAVER === 'true';
|
|
13
|
+
if (!useRemoteCheckpointSaver || process.env.NODE_ENV === 'test') {
|
|
14
|
+
console.log('Using in-memory checkpoint saver');
|
|
15
|
+
return new langgraph_1.MemorySaver();
|
|
16
|
+
}
|
|
17
|
+
// // If not using in-memory, check for platform token and MINDED_SERVER
|
|
18
|
+
// if (!platformToken) {
|
|
19
|
+
// console.warn('No platform token provided, falling back to in-memory checkpoint saver');
|
|
20
|
+
// return new MemorySaver();
|
|
21
|
+
// }
|
|
22
|
+
const mindedServer = process.env.MINDED_SERVER;
|
|
23
|
+
if (!mindedServer) {
|
|
24
|
+
console.warn('MINDED_SERVER environment variable not set, falling back to in-memory checkpoint saver');
|
|
25
|
+
return new langgraph_1.MemorySaver();
|
|
26
|
+
}
|
|
27
|
+
console.log(`Using remote checkpoint saver with server: ${mindedServer}`);
|
|
28
|
+
return new mindedCheckpointSaver_1.MindedCheckpointSaver(platformToken);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=checkpointSaverFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpointSaverFactory.js","sourceRoot":"","sources":["../../src/checkpointer/checkpointSaverFactory.ts"],"names":[],"mappings":";;AAQA,sDAsBC;AA9BD,oDAAwE;AACxE,6EAA0E;AAE1E;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,aAAqB;IACzD,MAAM,wBAAwB,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,MAAM,CAAC;IAEhF,IAAI,CAAC,wBAAwB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO,IAAI,uBAAW,EAAE,CAAC;IAC3B,CAAC;IAED,0EAA0E;IAC1E,0BAA0B;IAC1B,8FAA8F;IAC9F,gCAAgC;IAChC,MAAM;IAEN,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IAC/C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC;QACvG,OAAO,IAAI,uBAAW,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,8CAA8C,YAAY,EAAE,CAAC,CAAC;IAC1E,OAAO,IAAI,6CAAqB,CAAC,aAAa,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -24,7 +24,7 @@ Your task is to analyze the current memory state, history and available nodes an
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
Available nodes in the format of {nodeId}: {prompt}:
|
|
27
|
-
${edges.map((edge) => `- ${edge.target}: ${edge.prompt}`).join('\n')}
|
|
27
|
+
${edges.map((edge) => `- {${edge.target}}: {${edge.prompt}}`).join('\n')}
|
|
28
28
|
|
|
29
29
|
Current memory state:
|
|
30
30
|
${JSON.stringify(state.memory)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createPromptRouter.js","sourceRoot":"","sources":["../../src/edges/createPromptRouter.ts"],"names":[],"mappings":";;;AAAA,4DAAiE;AACjE,6BAAwB;AAGxB,uDAAqD;AAG9C,MAAM,kBAAkB,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,EAA4D,EAAE,EAAE;IAC7G,MAAM,KAAK,GAAG,IAAA,2BAAgB,EAAC;QAC7B,GAAG;QACH,KAAK,EAAE,EAAE;QACT,cAAc,EAAE,OAAC,CAAC,MAAM,CAAC;YACvB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;YACtB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;SACtB,CAAC;KACH,CAAC,CAAC;IACH,OAAO,KAAK,EAAE,KAAmC,EAAE,EAAE;QACnD,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;YAChC,QAAQ,EAAE;gBACR,IAAI,oBAAS,CAAC;oBACZ,OAAO,EAAE;;;;;;EAMjB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"createPromptRouter.js","sourceRoot":"","sources":["../../src/edges/createPromptRouter.ts"],"names":[],"mappings":";;;AAAA,4DAAiE;AACjE,6BAAwB;AAGxB,uDAAqD;AAG9C,MAAM,kBAAkB,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,EAA4D,EAAE,EAAE;IAC7G,MAAM,KAAK,GAAG,IAAA,2BAAgB,EAAC;QAC7B,GAAG;QACH,KAAK,EAAE,EAAE;QACT,cAAc,EAAE,OAAC,CAAC,MAAM,CAAC;YACvB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;YACtB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;SACtB,CAAC;KACH,CAAC,CAAC;IACH,OAAO,KAAK,EAAE,KAAmC,EAAE,EAAE;QACnD,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;YAChC,QAAQ,EAAE;gBACR,IAAI,oBAAS,CAAC;oBACZ,OAAO,EAAE;;;;;;EAMjB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAGtE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;;;EAG5B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;;;OAGzB;iBACE,CAAC;aACH;SACF,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,CAAC,kBAAkB,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACxG,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AA5CW,QAAA,kBAAkB,sBA4C7B"}
|
|
@@ -9,36 +9,81 @@ class MindedCheckpointSaver extends langgraph_checkpoint_1.BaseCheckpointSaver {
|
|
|
9
9
|
this.token = token;
|
|
10
10
|
}
|
|
11
11
|
async getTuple(config) {
|
|
12
|
-
|
|
13
|
-
path: '/
|
|
12
|
+
const response = await (0, mindedRequest_1.mindedRequest)({
|
|
13
|
+
path: '/sdk-checkpoints/getTuple',
|
|
14
14
|
method: 'POST',
|
|
15
15
|
body: { config },
|
|
16
16
|
token: this.token,
|
|
17
17
|
});
|
|
18
|
+
if (!response.tuple) {
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
const tuple = response.tuple;
|
|
22
|
+
// Re-serialize and deserialize checkpoint to restore class information
|
|
23
|
+
const [checkpointType, serializedCheckpoint] = this.serde.dumpsTyped(tuple.checkpoint);
|
|
24
|
+
const checkpoint = (await this.serde.loadsTyped(checkpointType, serializedCheckpoint));
|
|
25
|
+
// Re-serialize and deserialize metadata to restore class information
|
|
26
|
+
const metadata = tuple.metadata
|
|
27
|
+
? (() => {
|
|
28
|
+
const [metadataType, serializedMetadata] = this.serde.dumpsTyped(tuple.metadata);
|
|
29
|
+
return this.serde.loadsTyped(metadataType, serializedMetadata);
|
|
30
|
+
})()
|
|
31
|
+
: undefined;
|
|
32
|
+
// Re-serialize and deserialize pending writes to restore class information
|
|
33
|
+
const pendingWrites = tuple.pendingWrites
|
|
34
|
+
? await Promise.all(tuple.pendingWrites.map(async (write) => {
|
|
35
|
+
const [taskId, channel, value] = write;
|
|
36
|
+
const [valueType, serializedValue] = this.serde.dumpsTyped(value);
|
|
37
|
+
const deserializedValue = await this.serde.loadsTyped(valueType, serializedValue);
|
|
38
|
+
return [taskId, channel, deserializedValue];
|
|
39
|
+
}))
|
|
40
|
+
: [];
|
|
41
|
+
return {
|
|
42
|
+
config: tuple.config,
|
|
43
|
+
checkpoint,
|
|
44
|
+
metadata: await metadata,
|
|
45
|
+
parentConfig: tuple.parentConfig,
|
|
46
|
+
pendingWrites,
|
|
47
|
+
};
|
|
18
48
|
}
|
|
19
49
|
async *list(config, options) {
|
|
20
|
-
const
|
|
21
|
-
path: '/
|
|
50
|
+
const response = await (0, mindedRequest_1.mindedRequest)({
|
|
51
|
+
path: '/sdk-checkpoints/list',
|
|
22
52
|
method: 'POST',
|
|
23
53
|
body: { config, options },
|
|
24
54
|
token: this.token,
|
|
25
55
|
});
|
|
26
|
-
for (const tuple of
|
|
27
|
-
|
|
56
|
+
for (const tuple of response.checkpoints) {
|
|
57
|
+
// Re-serialize and deserialize checkpoint to restore class information
|
|
58
|
+
const [checkpointType, serializedCheckpoint] = this.serde.dumpsTyped(tuple.checkpoint);
|
|
59
|
+
const checkpoint = (await this.serde.loadsTyped(checkpointType, serializedCheckpoint));
|
|
60
|
+
// Re-serialize and deserialize metadata to restore class information
|
|
61
|
+
const metadata = tuple.metadata
|
|
62
|
+
? (() => {
|
|
63
|
+
const [metadataType, serializedMetadata] = this.serde.dumpsTyped(tuple.metadata);
|
|
64
|
+
return this.serde.loadsTyped(metadataType, serializedMetadata);
|
|
65
|
+
})()
|
|
66
|
+
: undefined;
|
|
67
|
+
yield {
|
|
68
|
+
config: tuple.config,
|
|
69
|
+
checkpoint,
|
|
70
|
+
metadata: await metadata,
|
|
71
|
+
parentConfig: tuple.parentConfig,
|
|
72
|
+
};
|
|
28
73
|
}
|
|
29
74
|
}
|
|
30
75
|
async put(config, checkpoint, metadata, newVersions) {
|
|
31
|
-
const
|
|
32
|
-
path: '/
|
|
76
|
+
const response = await (0, mindedRequest_1.mindedRequest)({
|
|
77
|
+
path: '/sdk-checkpoints/put',
|
|
33
78
|
method: 'POST',
|
|
34
79
|
body: { config, checkpoint, metadata, newVersions },
|
|
35
80
|
token: this.token,
|
|
36
81
|
});
|
|
37
|
-
return
|
|
82
|
+
return response.config;
|
|
38
83
|
}
|
|
39
84
|
async putWrites(config, writes, taskId) {
|
|
40
85
|
await (0, mindedRequest_1.mindedRequest)({
|
|
41
|
-
path: '/
|
|
86
|
+
path: '/sdk-checkpoints/putWrites',
|
|
42
87
|
method: 'POST',
|
|
43
88
|
body: { config, writes, taskId },
|
|
44
89
|
token: this.token,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mindedCheckpointSaver.js","sourceRoot":"","sources":["../../src/platform/mindedCheckpointSaver.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"mindedCheckpointSaver.js","sourceRoot":"","sources":["../../src/platform/mindedCheckpointSaver.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,17 @@ import { BaseMindedConnectionSocketMessage, MindedConnectionSocketMessageType }
|
|
|
2
2
|
export declare class MindedConnection {
|
|
3
3
|
private socket;
|
|
4
4
|
private rl;
|
|
5
|
+
private readonly tokenPath;
|
|
5
6
|
listeners: {
|
|
6
7
|
[key: string]: ((message: BaseMindedConnectionSocketMessage) => void)[];
|
|
7
8
|
};
|
|
8
9
|
constructor();
|
|
10
|
+
private initializeReadline;
|
|
11
|
+
private getSavedToken;
|
|
12
|
+
private saveToken;
|
|
9
13
|
private getMindedToken;
|
|
10
14
|
on: (event: MindedConnectionSocketMessageType, callback: (message: BaseMindedConnectionSocketMessage) => void) => void;
|
|
11
15
|
emit: (event: MindedConnectionSocketMessageType, message: BaseMindedConnectionSocketMessage) => void;
|
|
12
|
-
|
|
16
|
+
private connect;
|
|
17
|
+
start(): Promise<void>;
|
|
13
18
|
}
|
|
@@ -36,10 +36,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.MindedConnection = void 0;
|
|
37
37
|
const socket_io_client_1 = require("socket.io-client");
|
|
38
38
|
const readline = __importStar(require("readline"));
|
|
39
|
+
const fs = __importStar(require("fs"));
|
|
40
|
+
const path = __importStar(require("path"));
|
|
39
41
|
class MindedConnection {
|
|
40
42
|
constructor() {
|
|
41
43
|
this.socket = null;
|
|
42
44
|
this.rl = null;
|
|
45
|
+
this.tokenPath = path.join(process.cwd(), '.minded-token');
|
|
43
46
|
this.listeners = {};
|
|
44
47
|
this.on = (event, callback) => {
|
|
45
48
|
if (!this.listeners[event]) {
|
|
@@ -52,65 +55,112 @@ class MindedConnection {
|
|
|
52
55
|
this.socket.emit(event, message);
|
|
53
56
|
}
|
|
54
57
|
};
|
|
55
|
-
if (!process.env.MINDED_CONNECTION_TOKEN) {
|
|
56
|
-
this.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
if (!process.env.MINDED_CONNECTION_TOKEN && !this.getSavedToken()) {
|
|
59
|
+
this.initializeReadline();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
initializeReadline() {
|
|
63
|
+
this.rl = readline.createInterface({
|
|
64
|
+
input: process.stdin,
|
|
65
|
+
output: process.stdout,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
getSavedToken() {
|
|
69
|
+
try {
|
|
70
|
+
if (fs.existsSync(this.tokenPath)) {
|
|
71
|
+
return fs.readFileSync(this.tokenPath, 'utf8').trim();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
console.error('Error reading token file:', error);
|
|
76
|
+
}
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
saveToken(token) {
|
|
80
|
+
try {
|
|
81
|
+
fs.writeFileSync(this.tokenPath, token);
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
console.error('Error saving token:', error);
|
|
60
85
|
}
|
|
61
86
|
}
|
|
62
87
|
async getMindedToken() {
|
|
63
88
|
const envToken = process.env.MINDED_CONNECTION_TOKEN;
|
|
64
89
|
if (envToken) {
|
|
90
|
+
this.saveToken(envToken);
|
|
65
91
|
return envToken;
|
|
66
92
|
}
|
|
93
|
+
const savedToken = this.getSavedToken();
|
|
94
|
+
if (savedToken) {
|
|
95
|
+
return savedToken;
|
|
96
|
+
}
|
|
97
|
+
if (!this.rl) {
|
|
98
|
+
this.initializeReadline();
|
|
99
|
+
}
|
|
67
100
|
return new Promise((resolve) => {
|
|
68
101
|
this.rl.question('Enter your Minded connection token: ', (token) => {
|
|
69
|
-
|
|
102
|
+
this.saveToken(token.trim());
|
|
103
|
+
resolve(token.trim());
|
|
70
104
|
});
|
|
71
105
|
});
|
|
72
106
|
}
|
|
73
|
-
|
|
74
|
-
this.
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
this.listeners[event].forEach((listener) => {
|
|
100
|
-
listener(message);
|
|
101
|
-
});
|
|
107
|
+
async connect(token) {
|
|
108
|
+
this.socket = (0, socket_io_client_1.io)('http://localhost:8888', {
|
|
109
|
+
path: '/minded-connect',
|
|
110
|
+
query: {
|
|
111
|
+
token,
|
|
112
|
+
},
|
|
113
|
+
});
|
|
114
|
+
// Connection event handlers
|
|
115
|
+
this.socket.on('connect', () => {
|
|
116
|
+
console.log('\x1b[32mConnection with Minded platform is live!\x1b[0m');
|
|
117
|
+
console.log('\x1b[36mPress Ctrl+C to exit.\x1b[0m');
|
|
118
|
+
});
|
|
119
|
+
this.socket.on('connect_error', () => {
|
|
120
|
+
console.error('Failed to connect to minded platform');
|
|
121
|
+
});
|
|
122
|
+
this.socket.on('disconnect', () => {
|
|
123
|
+
console.log('Disconnected from local debugging socket');
|
|
124
|
+
});
|
|
125
|
+
// Listen for error messages from the server
|
|
126
|
+
this.socket.on('error', async (error) => {
|
|
127
|
+
var _a;
|
|
128
|
+
console.error('Server error:', error.message);
|
|
129
|
+
if (error.message.includes('Invalid token')) {
|
|
130
|
+
// Delete saved token on connection error
|
|
131
|
+
if (fs.existsSync(this.tokenPath)) {
|
|
132
|
+
fs.unlinkSync(this.tokenPath);
|
|
102
133
|
}
|
|
103
|
-
|
|
104
|
-
// Handle process termination
|
|
105
|
-
process.on('SIGINT', () => {
|
|
106
|
-
var _a;
|
|
134
|
+
// Disconnect current socket
|
|
107
135
|
if ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.connected) {
|
|
108
|
-
console.log('\nDisconnecting...');
|
|
109
136
|
this.socket.disconnect();
|
|
110
137
|
}
|
|
111
|
-
|
|
112
|
-
|
|
138
|
+
// Get new token and reconnect
|
|
139
|
+
const newToken = await this.getMindedToken();
|
|
140
|
+
await this.connect(newToken);
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
// Listen for specific message types
|
|
144
|
+
this.socket.onAny((event, message) => {
|
|
145
|
+
if (this.listeners[event]) {
|
|
146
|
+
this.listeners[event].forEach((listener) => {
|
|
147
|
+
listener(message);
|
|
148
|
+
});
|
|
149
|
+
}
|
|
113
150
|
});
|
|
151
|
+
// Handle process termination
|
|
152
|
+
process.on('SIGINT', () => {
|
|
153
|
+
var _a;
|
|
154
|
+
if ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.connected) {
|
|
155
|
+
console.log('\nDisconnecting...');
|
|
156
|
+
this.socket.disconnect();
|
|
157
|
+
}
|
|
158
|
+
process.exit(0);
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
async start() {
|
|
162
|
+
const token = await this.getMindedToken();
|
|
163
|
+
await this.connect(token);
|
|
114
164
|
}
|
|
115
165
|
}
|
|
116
166
|
exports.MindedConnection = MindedConnection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mindedConnection.js","sourceRoot":"","sources":["../../src/platform/mindedConnection.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAA8C;AAC9C,mDAAqC;
|
|
1
|
+
{"version":3,"file":"mindedConnection.js","sourceRoot":"","sources":["../../src/platform/mindedConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mindedConnectionTypes.js","sourceRoot":"","sources":["../../src/platform/mindedConnectionTypes.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"mindedConnectionTypes.js","sourceRoot":"","sources":["../../src/platform/mindedConnectionTypes.ts"],"names":[],"mappings":";;;AAAA,IAAY,iCAEX;AAFD,WAAY,iCAAiC;IAC3C,oEAA+B,CAAA;AACjC,CAAC,EAFW,iCAAiC,iDAAjC,iCAAiC,QAE5C"}
|
|
@@ -5,8 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.mindedRequest = void 0;
|
|
7
7
|
const axios_1 = __importDefault(require("axios"));
|
|
8
|
-
const baseUrl = 'https://api.minded.com/sdk';
|
|
9
8
|
const mindedRequest = async ({ path, method, body, token, }) => {
|
|
9
|
+
const baseUrl = process.env.MINDED_SERVER || 'https://api.minded.com/sdk';
|
|
10
10
|
const response = await (0, axios_1.default)({
|
|
11
11
|
method,
|
|
12
12
|
url: `${baseUrl}${path}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mindedRequest.js","sourceRoot":"","sources":["../../src/platform/mindedRequest.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;
|
|
1
|
+
{"version":3,"file":"mindedRequest.js","sourceRoot":"","sources":["../../src/platform/mindedRequest.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAInB,MAAM,aAAa,GAAG,KAAK,EAA8B,EAC9D,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,GAMN,EAAqB,EAAE;IACtB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,4BAA4B,CAAC;IAE1E,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAK,EAAC;QAC3B,MAAM;QACN,GAAG,EAAE,GAAG,OAAO,GAAG,IAAI,EAAE;QACxB,IAAI,EAAE,IAAI;QACV,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,KAAK,EAAE;SACjC;KACF,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC,CAAC;AAxBW,QAAA,aAAa,iBAwBxB"}
|