@lovie-ai/formation-mcp-server 1.0.2 → 1.0.3
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/mcp/errors.d.ts +15 -8
- package/dist/mcp/errors.d.ts.map +1 -1
- package/dist/mcp/errors.js.map +1 -1
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +5 -0
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/middleware/session.d.ts +5 -6
- package/dist/mcp/middleware/session.d.ts.map +1 -1
- package/dist/mcp/middleware/session.js +70 -91
- package/dist/mcp/middleware/session.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/state/FormationSessionStore.d.ts +3 -9
- package/dist/mcp/state/FormationSessionStore.d.ts.map +1 -1
- package/dist/mcp/state/FormationSessionStore.js +39 -122
- package/dist/mcp/state/FormationSessionStore.js.map +1 -1
- package/dist/mcp/state/types.d.ts +16 -20
- package/dist/mcp/state/types.d.ts.map +1 -1
- package/dist/mcp/state/types.js +5 -5
- package/dist/mcp/state/types.js.map +1 -1
- package/dist/mcp/tools/certificate.d.ts +3 -4
- package/dist/mcp/tools/certificate.d.ts.map +1 -1
- package/dist/mcp/tools/certificate.js +9 -9
- package/dist/mcp/tools/certificate.js.map +1 -1
- package/dist/mcp/tools/company.d.ts +6 -7
- package/dist/mcp/tools/company.d.ts.map +1 -1
- package/dist/mcp/tools/company.js +10 -15
- package/dist/mcp/tools/company.js.map +1 -1
- package/dist/mcp/tools/index.d.ts +13 -5
- package/dist/mcp/tools/index.d.ts.map +1 -1
- package/dist/mcp/tools/index.js.map +1 -1
- package/dist/mcp/tools/session.d.ts +4 -5
- package/dist/mcp/tools/session.d.ts.map +1 -1
- package/dist/mcp/tools/session.js +6 -9
- package/dist/mcp/tools/session.js.map +1 -1
- package/dist/mcp/tools/stakeholders.d.ts +5 -6
- package/dist/mcp/tools/stakeholders.d.ts.map +1 -1
- package/dist/mcp/tools/stakeholders.js +8 -12
- package/dist/mcp/tools/stakeholders.js.map +1 -1
- package/dist/mcp/tools/sync.d.ts +2 -3
- package/dist/mcp/tools/sync.d.ts.map +1 -1
- package/dist/mcp/tools/sync.js +14 -35
- package/dist/mcp/tools/sync.js.map +1 -1
- package/dist/mcp/validation.d.ts +4 -4
- package/dist/mcp/validation.d.ts.map +1 -1
- package/dist/mcp/validation.js.map +1 -1
- package/package.json +1 -1
package/dist/mcp/errors.d.ts
CHANGED
|
@@ -18,20 +18,27 @@ export declare enum ErrorCode {
|
|
|
18
18
|
SYNC_FAILED = "SYNC_FAILED",
|
|
19
19
|
INTERNAL_ERROR = "INTERNAL_ERROR"
|
|
20
20
|
}
|
|
21
|
-
export interface
|
|
21
|
+
export interface MCPErrorDetails {
|
|
22
22
|
code: ErrorCode;
|
|
23
23
|
message: string;
|
|
24
24
|
details?: Record<string, unknown>;
|
|
25
|
-
retryable
|
|
25
|
+
retryable?: boolean;
|
|
26
26
|
suggestion?: string;
|
|
27
27
|
}
|
|
28
28
|
export declare class MCPToolError extends Error {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
constructor(errorDetails:
|
|
34
|
-
toJSON():
|
|
29
|
+
code: ErrorCode;
|
|
30
|
+
details?: Record<string, unknown>;
|
|
31
|
+
retryable?: boolean;
|
|
32
|
+
suggestion?: string;
|
|
33
|
+
constructor(errorDetails: MCPErrorDetails);
|
|
34
|
+
toJSON(): {
|
|
35
|
+
error: boolean;
|
|
36
|
+
code: ErrorCode;
|
|
37
|
+
message: string;
|
|
38
|
+
details: Record<string, unknown> | undefined;
|
|
39
|
+
retryable: boolean | undefined;
|
|
40
|
+
suggestion: string | undefined;
|
|
41
|
+
};
|
|
35
42
|
}
|
|
36
43
|
export declare function sessionNotFound(sessionId: string): MCPToolError;
|
|
37
44
|
export declare function sessionExpired(sessionId: string): MCPToolError;
|
package/dist/mcp/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/mcp/errors.ts"],"names":[],"mappings":"AACA,oBAAY,SAAS;IAEnB,gBAAgB,qBAAqB;IACrC,yBAAyB,8BAA8B;IACvD,yBAAyB,8BAA8B;IACvD,uBAAuB,4BAA4B;IAGnD,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IACnC,qBAAqB,0BAA0B;IAC/C,yBAAyB,8BAA8B;IAGvD,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,SAAS,cAAc;IAGvB,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IAGrC,6BAA6B,kCAAkC;IAC/D,yBAAyB,8BAA8B;IACvD,uBAAuB,4BAA4B;IAGnD,WAAW,gBAAgB;IAG3B,cAAc,mBAAmB;CAClC;AAED,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/mcp/errors.ts"],"names":[],"mappings":"AACA,oBAAY,SAAS;IAEnB,gBAAgB,qBAAqB;IACrC,yBAAyB,8BAA8B;IACvD,yBAAyB,8BAA8B;IACvD,uBAAuB,4BAA4B;IAGnD,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IACnC,qBAAqB,0BAA0B;IAC/C,yBAAyB,8BAA8B;IAGvD,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,SAAS,cAAc;IAGvB,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IAGrC,6BAA6B,kCAAkC;IAC/D,yBAAyB,8BAA8B;IACvD,uBAAuB,4BAA4B;IAGnD,WAAW,gBAAgB;IAG3B,cAAc,mBAAmB;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,YAAa,SAAQ,KAAK;IACrC,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;gBAER,YAAY,EAAE,eAAe;IASzC,MAAM;;;;;;;;CAUP;AAGD,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAQ/D;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAQ9D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,CAQ5E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAQ9D;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAQxD;AAED,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,YAAY,CAQpF"}
|
package/dist/mcp/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/mcp/errors.ts"],"names":[],"mappings":";;;AAuEA,0CAQC;AAED,wCAQC;AAED,0CAQC;AAED,gDAQC;AAED,gCAQC;AAED,oCAQC;AAjID,4BAA4B;AAC5B,IAAY,SAgCX;AAhCD,WAAY,SAAS;IACnB,oBAAoB;IACpB,kDAAqC,CAAA;IACrC,oEAAuD,CAAA;IACvD,oEAAuD,CAAA;IACvD,gEAAmD,CAAA;IAEnD,iBAAiB;IACjB,oDAAuC,CAAA;IACvC,gDAAmC,CAAA;IACnC,4DAA+C,CAAA;IAC/C,oEAAuD,CAAA;IAEvD,aAAa;IACb,wCAA2B,CAAA;IAC3B,gDAAmC,CAAA;IACnC,oCAAuB,CAAA;IAEvB,oBAAoB;IACpB,oDAAuC,CAAA;IACvC,kDAAqC,CAAA;IAErC,qBAAqB;IACrB,4EAA+D,CAAA;IAC/D,oEAAuD,CAAA;IACvD,gEAAmD,CAAA;IAEnD,cAAc;IACd,wCAA2B,CAAA;IAE3B,kBAAkB;IAClB,8CAAiC,CAAA;AACnC,CAAC,EAhCW,SAAS,yBAAT,SAAS,QAgCpB;AAUD,MAAa,YAAa,SAAQ,KAAK;IAMrC,YAAY,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/mcp/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAGvF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAG3F,cAAc,eAAe,CAAC;AAG9B,cAAc,UAAU,CAAC"}
|
package/dist/mcp/index.js
CHANGED
|
@@ -17,18 +17,23 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.initializeTools = exports.handleToolCall = exports.getAllTools = exports.registerTool = exports.FormationSessionStore = exports.getSessionStore = exports.startStdioServer = exports.createMCPServer = void 0;
|
|
19
19
|
const server_1 = require("./server");
|
|
20
|
+
// Export server functions
|
|
20
21
|
var server_2 = require("./server");
|
|
21
22
|
Object.defineProperty(exports, "createMCPServer", { enumerable: true, get: function () { return server_2.createMCPServer; } });
|
|
22
23
|
Object.defineProperty(exports, "startStdioServer", { enumerable: true, get: function () { return server_2.startStdioServer; } });
|
|
24
|
+
// Export session store
|
|
23
25
|
var FormationSessionStore_1 = require("./state/FormationSessionStore");
|
|
24
26
|
Object.defineProperty(exports, "getSessionStore", { enumerable: true, get: function () { return FormationSessionStore_1.getSessionStore; } });
|
|
25
27
|
Object.defineProperty(exports, "FormationSessionStore", { enumerable: true, get: function () { return FormationSessionStore_1.FormationSessionStore; } });
|
|
28
|
+
// Export tool utilities
|
|
26
29
|
var index_1 = require("./tools/index");
|
|
27
30
|
Object.defineProperty(exports, "registerTool", { enumerable: true, get: function () { return index_1.registerTool; } });
|
|
28
31
|
Object.defineProperty(exports, "getAllTools", { enumerable: true, get: function () { return index_1.getAllTools; } });
|
|
29
32
|
Object.defineProperty(exports, "handleToolCall", { enumerable: true, get: function () { return index_1.handleToolCall; } });
|
|
30
33
|
Object.defineProperty(exports, "initializeTools", { enumerable: true, get: function () { return index_1.initializeTools; } });
|
|
34
|
+
// Export types
|
|
31
35
|
__exportStar(require("./state/types"), exports);
|
|
36
|
+
// Export errors
|
|
32
37
|
__exportStar(require("./errors"), exports);
|
|
33
38
|
// Main entry point when run directly
|
|
34
39
|
if (require.main === module) {
|
package/dist/mcp/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA,qCAA4C;AAE5C,0BAA0B;AAC1B,mCAA6D;AAApD,yGAAA,eAAe,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAE1C,uBAAuB;AACvB,uEAAuF;AAA9E,wHAAA,eAAe,OAAA;AAAE,8HAAA,qBAAqB,OAAA;AAE/C,wBAAwB;AACxB,uCAA2F;AAAlF,qGAAA,YAAY,OAAA;AAAE,oGAAA,WAAW,OAAA;AAAE,uGAAA,cAAc,OAAA;AAAE,wGAAA,eAAe,OAAA;AAEnE,eAAe;AACf,gDAA8B;AAE9B,gBAAgB;AAChB,2CAAyB;AAEzB,qCAAqC;AACrC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAA,yBAAgB,GAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACjC,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
+
import { FormationSession, FormationStep, CompanyType } from '../state/types';
|
|
1
2
|
import { FormationSessionStore } from '../state/FormationSessionStore';
|
|
2
|
-
import { FormationSession, FormationStep } from '../state/types';
|
|
3
3
|
export declare function loadSession(sessionId: string, store: FormationSessionStore): Promise<FormationSession>;
|
|
4
|
-
export declare function
|
|
5
|
-
export declare function
|
|
6
|
-
export declare function
|
|
7
|
-
export declare
|
|
8
|
-
export declare function calculateProgress(currentStep: FormationStep, companyType?: string): number;
|
|
4
|
+
export declare function calculateProgress(currentStep: FormationStep, companyType?: CompanyType): number;
|
|
5
|
+
export declare function getCompletedSteps(currentStep: FormationStep, companyType?: CompanyType): string[];
|
|
6
|
+
export declare function getRemainingSteps(currentStep: FormationStep, companyType?: CompanyType): string[];
|
|
7
|
+
export declare const STEP_DESCRIPTIONS: Record<FormationStep, string>;
|
|
9
8
|
//# sourceMappingURL=session.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/mcp/middleware/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/mcp/middleware/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAqCvE,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAa5G;AAQD,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,MAAM,CAO/F;AAGD,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE,CAOjG;AAGD,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE,CAOjG;AAGD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAc3D,CAAC"}
|
|
@@ -1,118 +1,97 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.STEP_DESCRIPTIONS = void 0;
|
|
3
4
|
exports.loadSession = loadSession;
|
|
4
|
-
exports.
|
|
5
|
-
exports.getNextStep = getNextStep;
|
|
5
|
+
exports.calculateProgress = calculateProgress;
|
|
6
6
|
exports.getCompletedSteps = getCompletedSteps;
|
|
7
7
|
exports.getRemainingSteps = getRemainingSteps;
|
|
8
|
-
exports.calculateProgress = calculateProgress;
|
|
9
8
|
const types_1 = require("../state/types");
|
|
10
9
|
const errors_1 = require("../errors");
|
|
11
|
-
//
|
|
10
|
+
// Step order for progress calculation
|
|
11
|
+
const STEP_ORDER = [
|
|
12
|
+
types_1.FormationStep.CREATED,
|
|
13
|
+
types_1.FormationStep.STATE_SELECTED,
|
|
14
|
+
types_1.FormationStep.TYPE_SELECTED,
|
|
15
|
+
types_1.FormationStep.ENDING_SELECTED,
|
|
16
|
+
types_1.FormationStep.NAME_SET,
|
|
17
|
+
types_1.FormationStep.NAME_CHECKED,
|
|
18
|
+
types_1.FormationStep.AGENT_SET,
|
|
19
|
+
types_1.FormationStep.SHARES_SET,
|
|
20
|
+
types_1.FormationStep.SHAREHOLDERS_ADDED,
|
|
21
|
+
types_1.FormationStep.AUTHORIZED_PARTY_SET,
|
|
22
|
+
types_1.FormationStep.CERTIFICATE_GENERATED,
|
|
23
|
+
types_1.FormationStep.CERTIFICATE_APPROVED,
|
|
24
|
+
types_1.FormationStep.COMPLETED,
|
|
25
|
+
];
|
|
26
|
+
// Steps for LLC (no share structure)
|
|
27
|
+
const LLC_STEP_ORDER = [
|
|
28
|
+
types_1.FormationStep.CREATED,
|
|
29
|
+
types_1.FormationStep.STATE_SELECTED,
|
|
30
|
+
types_1.FormationStep.TYPE_SELECTED,
|
|
31
|
+
types_1.FormationStep.ENDING_SELECTED,
|
|
32
|
+
types_1.FormationStep.NAME_SET,
|
|
33
|
+
types_1.FormationStep.NAME_CHECKED,
|
|
34
|
+
types_1.FormationStep.AGENT_SET,
|
|
35
|
+
types_1.FormationStep.SHAREHOLDERS_ADDED,
|
|
36
|
+
types_1.FormationStep.AUTHORIZED_PARTY_SET,
|
|
37
|
+
types_1.FormationStep.CERTIFICATE_GENERATED,
|
|
38
|
+
types_1.FormationStep.CERTIFICATE_APPROVED,
|
|
39
|
+
types_1.FormationStep.COMPLETED,
|
|
40
|
+
];
|
|
41
|
+
// Load and validate session
|
|
12
42
|
async function loadSession(sessionId, store) {
|
|
13
|
-
if (!sessionId) {
|
|
14
|
-
throw (0, errors_1.sessionNotFound)('(empty)');
|
|
15
|
-
}
|
|
16
43
|
const session = await store.get(sessionId);
|
|
17
44
|
if (!session) {
|
|
18
45
|
throw (0, errors_1.sessionNotFound)(sessionId);
|
|
19
46
|
}
|
|
20
|
-
// Check
|
|
21
|
-
if (
|
|
22
|
-
await store.delete(sessionId);
|
|
47
|
+
// Check expiration
|
|
48
|
+
if (new Date(session.expiresAt) < new Date()) {
|
|
23
49
|
throw (0, errors_1.sessionExpired)(sessionId);
|
|
24
50
|
}
|
|
25
51
|
return session;
|
|
26
52
|
}
|
|
27
|
-
//
|
|
28
|
-
function
|
|
29
|
-
|
|
30
|
-
const expectedSteps = requiredSteps.join(' or ');
|
|
31
|
-
throw (0, errors_1.invalidState)(expectedSteps, session.currentStep);
|
|
32
|
-
}
|
|
53
|
+
// Get step order based on company type
|
|
54
|
+
function getStepOrder(companyType) {
|
|
55
|
+
return companyType === 'LLC' ? LLC_STEP_ORDER : STEP_ORDER;
|
|
33
56
|
}
|
|
34
|
-
//
|
|
35
|
-
function
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
types_1.FormationStep.NAME_SET,
|
|
42
|
-
types_1.FormationStep.NAME_CHECKED,
|
|
43
|
-
types_1.FormationStep.AGENT_SET,
|
|
44
|
-
types_1.FormationStep.SHARES_SET,
|
|
45
|
-
types_1.FormationStep.SHAREHOLDERS_ADDED,
|
|
46
|
-
types_1.FormationStep.AUTHORIZED_PARTY_SET,
|
|
47
|
-
types_1.FormationStep.CERTIFICATE_GENERATED,
|
|
48
|
-
types_1.FormationStep.CERTIFICATE_APPROVED,
|
|
49
|
-
types_1.FormationStep.COMPLETED,
|
|
50
|
-
];
|
|
51
|
-
// Skip SHARES_SET for LLCs
|
|
52
|
-
const filteredOrder = companyType === 'LLC'
|
|
53
|
-
? stepOrder.filter(s => s !== types_1.FormationStep.SHARES_SET)
|
|
54
|
-
: stepOrder;
|
|
55
|
-
const currentIndex = filteredOrder.indexOf(currentStep);
|
|
56
|
-
if (currentIndex === -1 || currentIndex === filteredOrder.length - 1) {
|
|
57
|
-
return currentStep;
|
|
58
|
-
}
|
|
59
|
-
return filteredOrder[currentIndex + 1];
|
|
57
|
+
// Calculate progress percentage
|
|
58
|
+
function calculateProgress(currentStep, companyType) {
|
|
59
|
+
const steps = getStepOrder(companyType);
|
|
60
|
+
const currentIndex = steps.indexOf(currentStep);
|
|
61
|
+
if (currentIndex === -1)
|
|
62
|
+
return 0;
|
|
63
|
+
return Math.round((currentIndex / (steps.length - 1)) * 100);
|
|
60
64
|
}
|
|
61
|
-
// Get
|
|
65
|
+
// Get completed steps
|
|
62
66
|
function getCompletedSteps(currentStep, companyType) {
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
types_1.FormationStep.STATE_SELECTED,
|
|
66
|
-
types_1.FormationStep.TYPE_SELECTED,
|
|
67
|
-
types_1.FormationStep.ENDING_SELECTED,
|
|
68
|
-
types_1.FormationStep.NAME_SET,
|
|
69
|
-
types_1.FormationStep.NAME_CHECKED,
|
|
70
|
-
types_1.FormationStep.AGENT_SET,
|
|
71
|
-
types_1.FormationStep.SHARES_SET,
|
|
72
|
-
types_1.FormationStep.SHAREHOLDERS_ADDED,
|
|
73
|
-
types_1.FormationStep.AUTHORIZED_PARTY_SET,
|
|
74
|
-
types_1.FormationStep.CERTIFICATE_GENERATED,
|
|
75
|
-
types_1.FormationStep.CERTIFICATE_APPROVED,
|
|
76
|
-
types_1.FormationStep.COMPLETED,
|
|
77
|
-
];
|
|
78
|
-
// Skip SHARES_SET for LLCs
|
|
79
|
-
const filteredOrder = companyType === 'LLC'
|
|
80
|
-
? stepOrder.filter(s => s !== types_1.FormationStep.SHARES_SET)
|
|
81
|
-
: stepOrder;
|
|
82
|
-
const currentIndex = filteredOrder.indexOf(currentStep);
|
|
67
|
+
const steps = getStepOrder(companyType);
|
|
68
|
+
const currentIndex = steps.indexOf(currentStep);
|
|
83
69
|
if (currentIndex === -1)
|
|
84
70
|
return [];
|
|
85
|
-
return
|
|
71
|
+
return steps.slice(0, currentIndex + 1);
|
|
86
72
|
}
|
|
87
73
|
// Get remaining steps
|
|
88
74
|
function getRemainingSteps(currentStep, companyType) {
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
types_1.FormationStep.TYPE_SELECTED,
|
|
92
|
-
types_1.FormationStep.ENDING_SELECTED,
|
|
93
|
-
types_1.FormationStep.NAME_SET,
|
|
94
|
-
types_1.FormationStep.NAME_CHECKED,
|
|
95
|
-
types_1.FormationStep.AGENT_SET,
|
|
96
|
-
types_1.FormationStep.SHARES_SET,
|
|
97
|
-
types_1.FormationStep.SHAREHOLDERS_ADDED,
|
|
98
|
-
types_1.FormationStep.AUTHORIZED_PARTY_SET,
|
|
99
|
-
types_1.FormationStep.CERTIFICATE_GENERATED,
|
|
100
|
-
types_1.FormationStep.CERTIFICATE_APPROVED,
|
|
101
|
-
types_1.FormationStep.COMPLETED,
|
|
102
|
-
];
|
|
103
|
-
// Skip SHARES_SET for LLCs
|
|
104
|
-
const filteredOrder = companyType === 'LLC'
|
|
105
|
-
? stepOrder.filter(s => s !== types_1.FormationStep.SHARES_SET)
|
|
106
|
-
: stepOrder;
|
|
107
|
-
const currentIndex = filteredOrder.indexOf(currentStep);
|
|
75
|
+
const steps = getStepOrder(companyType);
|
|
76
|
+
const currentIndex = steps.indexOf(currentStep);
|
|
108
77
|
if (currentIndex === -1)
|
|
109
|
-
return
|
|
110
|
-
return
|
|
111
|
-
}
|
|
112
|
-
// Calculate progress percentage
|
|
113
|
-
function calculateProgress(currentStep, companyType) {
|
|
114
|
-
const completed = getCompletedSteps(currentStep, companyType).length;
|
|
115
|
-
const total = companyType === 'LLC' ? 12 : 13; // Total steps excluding CREATED
|
|
116
|
-
return Math.round((completed / total) * 100);
|
|
78
|
+
return steps;
|
|
79
|
+
return steps.slice(currentIndex + 1);
|
|
117
80
|
}
|
|
81
|
+
// Step descriptions for user-friendly messages
|
|
82
|
+
exports.STEP_DESCRIPTIONS = {
|
|
83
|
+
[types_1.FormationStep.CREATED]: 'Session created',
|
|
84
|
+
[types_1.FormationStep.STATE_SELECTED]: 'Select formation state',
|
|
85
|
+
[types_1.FormationStep.TYPE_SELECTED]: 'Select company type',
|
|
86
|
+
[types_1.FormationStep.ENDING_SELECTED]: 'Select entity ending',
|
|
87
|
+
[types_1.FormationStep.NAME_SET]: 'Set company name',
|
|
88
|
+
[types_1.FormationStep.NAME_CHECKED]: 'Check name availability',
|
|
89
|
+
[types_1.FormationStep.AGENT_SET]: 'Set registered agent',
|
|
90
|
+
[types_1.FormationStep.SHARES_SET]: 'Set share structure',
|
|
91
|
+
[types_1.FormationStep.SHAREHOLDERS_ADDED]: 'Add shareholders',
|
|
92
|
+
[types_1.FormationStep.AUTHORIZED_PARTY_SET]: 'Set authorized party',
|
|
93
|
+
[types_1.FormationStep.CERTIFICATE_GENERATED]: 'Generate certificate',
|
|
94
|
+
[types_1.FormationStep.CERTIFICATE_APPROVED]: 'Approve certificate',
|
|
95
|
+
[types_1.FormationStep.COMPLETED]: 'Formation complete',
|
|
96
|
+
};
|
|
118
97
|
//# sourceMappingURL=session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/mcp/middleware/session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/mcp/middleware/session.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAMnE,wBAAgB,eAAe,IAAI,MAAM,CAuDxC;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAgBtD"}
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":";;AAMA,0CAuDC;AAED,4CAgBC;AA/ED,wEAAmE;AACnE,wEAAiF;AACjF,iEAAmG;AACnG,yCAA4D;AAC5D,yEAAgE;AAEhE,SAAgB,eAAe;IAC7B,MAAM,MAAM,GAAG,IAAI,iBAAM,CACvB;QACE,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,OAAO;KACjB,EACD;QACE,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;SACV;KACF,CACF,CAAC;IAEF,2BAA2B;IAC3B,MAAM,KAAK,GAAG,IAAA,uCAAe,GAAE,CAAC;IAEhC,uBAAuB;IACvB,MAAM,CAAC,iBAAiB,CAAC,iCAAsB,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,KAAK,GAAG,IAAA,mBAAW,GAAE,CAAC;QAC5B,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,oBAAoB;IACpB,MAAM,CAAC,iBAAiB,CAAC,gCAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAEjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,sBAAc,EAAC,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;YAC7D,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;qBACtC;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,KAAK,EAAE,IAAI;4BACX,IAAI,EAAE,YAAY;4BAClB,OAAO,EAAE,YAAY;yBACtB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,gBAAgB;IACpC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAE7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,2BAA2B;IAC3B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
import { FormationSession } from './types';
|
|
2
2
|
export declare class FormationSessionStore {
|
|
3
|
-
private cache;
|
|
4
|
-
private storageDir;
|
|
5
|
-
private sessionExpiryDays;
|
|
6
|
-
constructor(storageDir?: string, sessionExpiryDays?: number);
|
|
7
|
-
private getFilePath;
|
|
8
|
-
ensureStorageDir(): Promise<void>;
|
|
9
3
|
create(): Promise<FormationSession>;
|
|
10
4
|
get(sessionId: string): Promise<FormationSession | null>;
|
|
11
5
|
save(session: FormationSession): Promise<void>;
|
|
12
|
-
delete(sessionId: string): Promise<
|
|
13
|
-
list(): Promise<
|
|
14
|
-
|
|
6
|
+
delete(sessionId: string): Promise<boolean>;
|
|
7
|
+
list(): Promise<FormationSession[]>;
|
|
8
|
+
cleanup(): Promise<number>;
|
|
15
9
|
}
|
|
16
10
|
export declare function getSessionStore(): FormationSessionStore;
|
|
17
11
|
//# sourceMappingURL=FormationSessionStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormationSessionStore.d.ts","sourceRoot":"","sources":["../../../src/mcp/state/FormationSessionStore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FormationSessionStore.d.ts","sourceRoot":"","sources":["../../../src/mcp/state/FormationSessionStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAgC,MAAM,SAAS,CAAC;AASzE,qBAAa,qBAAqB;IAE1B,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAiBnC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAKxD,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK3C,IAAI,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAKnC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAajC;AAKD,wBAAgB,eAAe,IAAI,qBAAqB,CAKvD"}
|
|
@@ -1,150 +1,67 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
3
|
exports.FormationSessionStore = void 0;
|
|
37
4
|
exports.getSessionStore = getSessionStore;
|
|
38
|
-
const fs_1 = require("fs");
|
|
39
|
-
const path = __importStar(require("path"));
|
|
40
|
-
const types_1 = require("./types");
|
|
41
5
|
const uuid_1 = require("uuid");
|
|
6
|
+
const types_1 = require("./types");
|
|
7
|
+
// In-memory session store (for development/testing)
|
|
8
|
+
// In production, this would use Redis or a database
|
|
9
|
+
const sessions = new Map();
|
|
10
|
+
// Session TTL in milliseconds (24 hours)
|
|
11
|
+
const SESSION_TTL_MS = 24 * 60 * 60 * 1000;
|
|
42
12
|
class FormationSessionStore {
|
|
43
|
-
|
|
44
|
-
this.cache = new Map();
|
|
45
|
-
this.storageDir = storageDir || process.env.MCP_SESSION_DIR || './data/sessions';
|
|
46
|
-
this.sessionExpiryDays = sessionExpiryDays;
|
|
47
|
-
}
|
|
48
|
-
getFilePath(sessionId) {
|
|
49
|
-
return path.join(this.storageDir, `${sessionId}.json`);
|
|
50
|
-
}
|
|
51
|
-
async ensureStorageDir() {
|
|
52
|
-
await fs_1.promises.mkdir(this.storageDir, { recursive: true });
|
|
53
|
-
}
|
|
13
|
+
// Create a new session
|
|
54
14
|
async create() {
|
|
55
|
-
const
|
|
56
|
-
const now = new Date().toISOString();
|
|
57
|
-
const expiresAt = new Date(Date.now() + this.sessionExpiryDays * 24 * 60 * 60 * 1000).toISOString();
|
|
15
|
+
const now = new Date();
|
|
58
16
|
const session = {
|
|
59
|
-
sessionId,
|
|
60
|
-
currentStep: types_1.FormationStep.CREATED,
|
|
17
|
+
sessionId: (0, uuid_1.v4)(),
|
|
61
18
|
status: types_1.SessionStatus.CREATED,
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
19
|
+
currentStep: types_1.FormationStep.CREATED,
|
|
20
|
+
shareholders: [],
|
|
21
|
+
createdAt: now.toISOString(),
|
|
22
|
+
updatedAt: now.toISOString(),
|
|
23
|
+
expiresAt: new Date(now.getTime() + SESSION_TTL_MS).toISOString(),
|
|
66
24
|
};
|
|
67
|
-
|
|
25
|
+
sessions.set(session.sessionId, session);
|
|
68
26
|
return session;
|
|
69
27
|
}
|
|
28
|
+
// Get session by ID
|
|
70
29
|
async get(sessionId) {
|
|
71
|
-
|
|
72
|
-
if (this.cache.has(sessionId)) {
|
|
73
|
-
const session = this.cache.get(sessionId);
|
|
74
|
-
if (this.isExpired(session)) {
|
|
75
|
-
await this.delete(sessionId);
|
|
76
|
-
return null;
|
|
77
|
-
}
|
|
78
|
-
return session;
|
|
79
|
-
}
|
|
80
|
-
// Load from file
|
|
81
|
-
const filePath = this.getFilePath(sessionId);
|
|
82
|
-
try {
|
|
83
|
-
const data = await fs_1.promises.readFile(filePath, 'utf-8');
|
|
84
|
-
const session = JSON.parse(data);
|
|
85
|
-
if (this.isExpired(session)) {
|
|
86
|
-
await this.delete(sessionId);
|
|
87
|
-
return null;
|
|
88
|
-
}
|
|
89
|
-
this.cache.set(sessionId, session);
|
|
90
|
-
return session;
|
|
91
|
-
}
|
|
92
|
-
catch (error) {
|
|
93
|
-
if (error.code === 'ENOENT') {
|
|
94
|
-
return null;
|
|
95
|
-
}
|
|
96
|
-
throw error;
|
|
97
|
-
}
|
|
30
|
+
return sessions.get(sessionId) || null;
|
|
98
31
|
}
|
|
32
|
+
// Save/update session
|
|
99
33
|
async save(session) {
|
|
100
|
-
await this.ensureStorageDir();
|
|
101
34
|
session.updatedAt = new Date().toISOString();
|
|
102
|
-
|
|
103
|
-
if (session.currentStep === types_1.FormationStep.COMPLETED) {
|
|
104
|
-
session.status = types_1.SessionStatus.COMPLETED;
|
|
105
|
-
}
|
|
106
|
-
else if (session.currentStep === types_1.FormationStep.CERTIFICATE_GENERATED) {
|
|
107
|
-
session.status = types_1.SessionStatus.REVIEW;
|
|
108
|
-
}
|
|
109
|
-
else if (session.currentStep !== types_1.FormationStep.CREATED) {
|
|
110
|
-
session.status = types_1.SessionStatus.IN_PROGRESS;
|
|
111
|
-
}
|
|
112
|
-
const filePath = this.getFilePath(session.sessionId);
|
|
113
|
-
await fs_1.promises.writeFile(filePath, JSON.stringify(session, null, 2), 'utf-8');
|
|
114
|
-
this.cache.set(session.sessionId, session);
|
|
35
|
+
sessions.set(session.sessionId, session);
|
|
115
36
|
}
|
|
37
|
+
// Delete session
|
|
116
38
|
async delete(sessionId) {
|
|
117
|
-
|
|
118
|
-
const filePath = this.getFilePath(sessionId);
|
|
119
|
-
try {
|
|
120
|
-
await fs_1.promises.unlink(filePath);
|
|
121
|
-
}
|
|
122
|
-
catch (error) {
|
|
123
|
-
if (error.code !== 'ENOENT') {
|
|
124
|
-
throw error;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
39
|
+
return sessions.delete(sessionId);
|
|
127
40
|
}
|
|
41
|
+
// List all sessions (for debugging)
|
|
128
42
|
async list() {
|
|
129
|
-
|
|
130
|
-
const files = await fs_1.promises.readdir(this.storageDir);
|
|
131
|
-
return files
|
|
132
|
-
.filter(f => f.endsWith('.json'))
|
|
133
|
-
.map(f => f.replace('.json', ''));
|
|
43
|
+
return Array.from(sessions.values());
|
|
134
44
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
45
|
+
// Clean up expired sessions
|
|
46
|
+
async cleanup() {
|
|
47
|
+
const now = new Date();
|
|
48
|
+
let cleaned = 0;
|
|
49
|
+
for (const [sessionId, session] of sessions) {
|
|
50
|
+
if (new Date(session.expiresAt) < now) {
|
|
51
|
+
sessions.delete(sessionId);
|
|
52
|
+
cleaned++;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return cleaned;
|
|
139
56
|
}
|
|
140
57
|
}
|
|
141
58
|
exports.FormationSessionStore = FormationSessionStore;
|
|
142
|
-
// Singleton instance
|
|
143
|
-
let
|
|
59
|
+
// Singleton instance
|
|
60
|
+
let storeInstance = null;
|
|
144
61
|
function getSessionStore() {
|
|
145
|
-
if (!
|
|
146
|
-
|
|
62
|
+
if (!storeInstance) {
|
|
63
|
+
storeInstance = new FormationSessionStore();
|
|
147
64
|
}
|
|
148
|
-
return
|
|
65
|
+
return storeInstance;
|
|
149
66
|
}
|
|
150
67
|
//# sourceMappingURL=FormationSessionStore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormationSessionStore.js","sourceRoot":"","sources":["../../../src/mcp/state/FormationSessionStore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FormationSessionStore.js","sourceRoot":"","sources":["../../../src/mcp/state/FormationSessionStore.ts"],"names":[],"mappings":";;;AAoEA,0CAKC;AAzED,+BAAoC;AACpC,mCAAyE;AAEzE,oDAAoD;AACpD,oDAAoD;AACpD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA4B,CAAC;AAErD,yCAAyC;AACzC,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE3C,MAAa,qBAAqB;IAChC,uBAAuB;IACvB,KAAK,CAAC,MAAM;QACV,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,OAAO,GAAqB;YAChC,SAAS,EAAE,IAAA,SAAM,GAAE;YACnB,MAAM,EAAE,qBAAa,CAAC,OAAO;YAC7B,WAAW,EAAE,qBAAa,CAAC,OAAO;YAClC,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;YAC5B,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;YAC5B,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC,WAAW,EAAE;SAClE,CAAC;QAEF,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACzC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,GAAG,CAAC,SAAiB;QACzB,OAAO,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;IACzC,CAAC;IAED,sBAAsB;IACtB,KAAK,CAAC,IAAI,CAAC,OAAyB;QAClC,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,iBAAiB;IACjB,KAAK,CAAC,MAAM,CAAC,SAAiB;QAC5B,OAAO,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,oCAAoC;IACpC,KAAK,CAAC,IAAI;QACR,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,4BAA4B;IAC5B,KAAK,CAAC,OAAO;QACX,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC5C,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC;gBACtC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC3B,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AArDD,sDAqDC;AAED,qBAAqB;AACrB,IAAI,aAAa,GAAiC,IAAI,CAAC;AAEvD,SAAgB,eAAe;IAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,aAAa,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC"}
|