@lovie-ai/formation-mcp-server 1.0.1 → 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.
Files changed (47) hide show
  1. package/dist/mcp/errors.d.ts +15 -8
  2. package/dist/mcp/errors.d.ts.map +1 -1
  3. package/dist/mcp/errors.js.map +1 -1
  4. package/dist/mcp/index.d.ts.map +1 -1
  5. package/dist/mcp/index.js +5 -0
  6. package/dist/mcp/index.js.map +1 -1
  7. package/dist/mcp/middleware/session.d.ts +5 -6
  8. package/dist/mcp/middleware/session.d.ts.map +1 -1
  9. package/dist/mcp/middleware/session.js +70 -91
  10. package/dist/mcp/middleware/session.js.map +1 -1
  11. package/dist/mcp/server.d.ts.map +1 -1
  12. package/dist/mcp/server.js.map +1 -1
  13. package/dist/mcp/state/FormationSessionStore.d.ts +3 -9
  14. package/dist/mcp/state/FormationSessionStore.d.ts.map +1 -1
  15. package/dist/mcp/state/FormationSessionStore.js +39 -122
  16. package/dist/mcp/state/FormationSessionStore.js.map +1 -1
  17. package/dist/mcp/state/types.d.ts +16 -20
  18. package/dist/mcp/state/types.d.ts.map +1 -1
  19. package/dist/mcp/state/types.js +5 -5
  20. package/dist/mcp/state/types.js.map +1 -1
  21. package/dist/mcp/tools/certificate.d.ts +3 -4
  22. package/dist/mcp/tools/certificate.d.ts.map +1 -1
  23. package/dist/mcp/tools/certificate.js +9 -9
  24. package/dist/mcp/tools/certificate.js.map +1 -1
  25. package/dist/mcp/tools/company.d.ts +6 -7
  26. package/dist/mcp/tools/company.d.ts.map +1 -1
  27. package/dist/mcp/tools/company.js +10 -15
  28. package/dist/mcp/tools/company.js.map +1 -1
  29. package/dist/mcp/tools/index.d.ts +13 -5
  30. package/dist/mcp/tools/index.d.ts.map +1 -1
  31. package/dist/mcp/tools/index.js.map +1 -1
  32. package/dist/mcp/tools/session.d.ts +4 -5
  33. package/dist/mcp/tools/session.d.ts.map +1 -1
  34. package/dist/mcp/tools/session.js +6 -9
  35. package/dist/mcp/tools/session.js.map +1 -1
  36. package/dist/mcp/tools/stakeholders.d.ts +5 -6
  37. package/dist/mcp/tools/stakeholders.d.ts.map +1 -1
  38. package/dist/mcp/tools/stakeholders.js +8 -12
  39. package/dist/mcp/tools/stakeholders.js.map +1 -1
  40. package/dist/mcp/tools/sync.d.ts +2 -3
  41. package/dist/mcp/tools/sync.d.ts.map +1 -1
  42. package/dist/mcp/tools/sync.js +14 -35
  43. package/dist/mcp/tools/sync.js.map +1 -1
  44. package/dist/mcp/validation.d.ts +4 -4
  45. package/dist/mcp/validation.d.ts.map +1 -1
  46. package/dist/mcp/validation.js.map +1 -1
  47. package/package.json +11 -7
@@ -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 MCPToolErrorDetails {
21
+ export interface MCPErrorDetails {
22
22
  code: ErrorCode;
23
23
  message: string;
24
24
  details?: Record<string, unknown>;
25
- retryable: boolean;
25
+ retryable?: boolean;
26
26
  suggestion?: string;
27
27
  }
28
28
  export declare class MCPToolError extends Error {
29
- readonly code: ErrorCode;
30
- readonly details?: Record<string, unknown>;
31
- readonly retryable: boolean;
32
- readonly suggestion?: string;
33
- constructor(errorDetails: MCPToolErrorDetails);
34
- toJSON(): Record<string, unknown>;
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;
@@ -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,mBAAmB;IAClC,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,YAAa,SAAQ,KAAK;IACrC,SAAgB,IAAI,EAAE,SAAS,CAAC;IAChC,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,SAAgB,SAAS,EAAE,OAAO,CAAC;IACnC,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;gBAExB,YAAY,EAAE,mBAAmB;IAS7C,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAUlC;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"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/mcp/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/mcp/errors.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC3F,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC"}
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) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,qCAA4C;AAE5C,mCAA6D;AAApD,yGAAA,eAAe,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAC1C,uEAAuF;AAA9E,wHAAA,eAAe,OAAA;AAAE,8HAAA,qBAAqB,OAAA;AAC/C,uCAA2F;AAAlF,qGAAA,YAAY,OAAA;AAAE,oGAAA,WAAW,OAAA;AAAE,uGAAA,cAAc,OAAA;AAAE,wGAAA,eAAe,OAAA;AACnE,gDAA8B;AAC9B,2CAAyB;AAEzB,qCAAqC;AACrC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAA,yBAAgB,GAAE,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;QACxC,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
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 validateSessionState(session: FormationSession, requiredSteps: FormationStep[], currentOperation: string): void;
5
- export declare function getNextStep(currentStep: FormationStep, companyType?: string): FormationStep;
6
- export declare function getCompletedSteps(currentStep: FormationStep, companyType?: string): FormationStep[];
7
- export declare function getRemainingSteps(currentStep: FormationStep, companyType?: string): FormationStep[];
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,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIjE,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CAkB3B;AAGD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,aAAa,EAAE,aAAa,EAAE,EAC9B,gBAAgB,EAAE,MAAM,GACvB,IAAI,CAKN;AAGD,wBAAgB,WAAW,CACzB,WAAW,EAAE,aAAa,EAC1B,WAAW,CAAC,EAAE,MAAM,GACnB,aAAa,CA4Bf;AAGD,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,aAAa,EAC1B,WAAW,CAAC,EAAE,MAAM,GACnB,aAAa,EAAE,CA0BjB;AAGD,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,aAAa,EAC1B,WAAW,CAAC,EAAE,MAAM,GACnB,aAAa,EAAE,CAyBjB;AAGD,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,aAAa,EAC1B,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAKR"}
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.validateSessionState = validateSessionState;
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
- // Load session from store by sessionId
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 if expired
21
- if (session.expiresAt && new Date(session.expiresAt) < new Date()) {
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
- // Validate session is in correct state for an operation
28
- function validateSessionState(session, requiredSteps, currentOperation) {
29
- if (!requiredSteps.includes(session.currentStep)) {
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
- // Get the next step based on current step and company type
35
- function getNextStep(currentStep, companyType) {
36
- const stepOrder = [
37
- types_1.FormationStep.CREATED,
38
- types_1.FormationStep.STATE_SELECTED,
39
- types_1.FormationStep.TYPE_SELECTED,
40
- types_1.FormationStep.ENDING_SELECTED,
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 all steps completed so far
65
+ // Get completed steps
62
66
  function getCompletedSteps(currentStep, companyType) {
63
- const stepOrder = [
64
- types_1.FormationStep.CREATED,
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 filteredOrder.slice(0, currentIndex + 1);
71
+ return steps.slice(0, currentIndex + 1);
86
72
  }
87
73
  // Get remaining steps
88
74
  function getRemainingSteps(currentStep, companyType) {
89
- const stepOrder = [
90
- types_1.FormationStep.STATE_SELECTED,
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 filteredOrder;
110
- return filteredOrder.slice(currentIndex + 1);
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":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/mcp/middleware/session.ts"],"names":[],"mappings":";;;AAsCA,kCAaC;AAQD,8CAOC;AAGD,8CAOC;AAGD,8CAOC;AAtFD,0CAA8E;AAE9E,sCAA4D;AAE5D,sCAAsC;AACtC,MAAM,UAAU,GAAoB;IAClC,qBAAa,CAAC,OAAO;IACrB,qBAAa,CAAC,cAAc;IAC5B,qBAAa,CAAC,aAAa;IAC3B,qBAAa,CAAC,eAAe;IAC7B,qBAAa,CAAC,QAAQ;IACtB,qBAAa,CAAC,YAAY;IAC1B,qBAAa,CAAC,SAAS;IACvB,qBAAa,CAAC,UAAU;IACxB,qBAAa,CAAC,kBAAkB;IAChC,qBAAa,CAAC,oBAAoB;IAClC,qBAAa,CAAC,qBAAqB;IACnC,qBAAa,CAAC,oBAAoB;IAClC,qBAAa,CAAC,SAAS;CACxB,CAAC;AAEF,qCAAqC;AACrC,MAAM,cAAc,GAAoB;IACtC,qBAAa,CAAC,OAAO;IACrB,qBAAa,CAAC,cAAc;IAC5B,qBAAa,CAAC,aAAa;IAC3B,qBAAa,CAAC,eAAe;IAC7B,qBAAa,CAAC,QAAQ;IACtB,qBAAa,CAAC,YAAY;IAC1B,qBAAa,CAAC,SAAS;IACvB,qBAAa,CAAC,kBAAkB;IAChC,qBAAa,CAAC,oBAAoB;IAClC,qBAAa,CAAC,qBAAqB;IACnC,qBAAa,CAAC,oBAAoB;IAClC,qBAAa,CAAC,SAAS;CACxB,CAAC;AAEF,4BAA4B;AACrB,KAAK,UAAU,WAAW,CAAC,SAAiB,EAAE,KAA4B;IAC/E,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAE3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAA,wBAAe,EAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,mBAAmB;IACnB,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAA,uBAAc,EAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,uCAAuC;AACvC,SAAS,YAAY,CAAC,WAAyB;IAC7C,OAAO,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC;AAC7D,CAAC;AAED,gCAAgC;AAChC,SAAgB,iBAAiB,CAAC,WAA0B,EAAE,WAAyB;IACrF,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAEhD,IAAI,YAAY,KAAK,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IAElC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED,sBAAsB;AACtB,SAAgB,iBAAiB,CAAC,WAA0B,EAAE,WAAyB;IACrF,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAEhD,IAAI,YAAY,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,sBAAsB;AACtB,SAAgB,iBAAiB,CAAC,WAA0B,EAAE,WAAyB;IACrF,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAEhD,IAAI,YAAY,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAEtC,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,+CAA+C;AAClC,QAAA,iBAAiB,GAAkC;IAC9D,CAAC,qBAAa,CAAC,OAAO,CAAC,EAAE,iBAAiB;IAC1C,CAAC,qBAAa,CAAC,cAAc,CAAC,EAAE,wBAAwB;IACxD,CAAC,qBAAa,CAAC,aAAa,CAAC,EAAE,qBAAqB;IACpD,CAAC,qBAAa,CAAC,eAAe,CAAC,EAAE,sBAAsB;IACvD,CAAC,qBAAa,CAAC,QAAQ,CAAC,EAAE,kBAAkB;IAC5C,CAAC,qBAAa,CAAC,YAAY,CAAC,EAAE,yBAAyB;IACvD,CAAC,qBAAa,CAAC,SAAS,CAAC,EAAE,sBAAsB;IACjD,CAAC,qBAAa,CAAC,UAAU,CAAC,EAAE,qBAAqB;IACjD,CAAC,qBAAa,CAAC,kBAAkB,CAAC,EAAE,kBAAkB;IACtD,CAAC,qBAAa,CAAC,oBAAoB,CAAC,EAAE,sBAAsB;IAC5D,CAAC,qBAAa,CAAC,qBAAqB,CAAC,EAAE,sBAAsB;IAC7D,CAAC,qBAAa,CAAC,oBAAoB,CAAC,EAAE,qBAAqB;IAC3D,CAAC,qBAAa,CAAC,SAAS,CAAC,EAAE,oBAAoB;CAChD,CAAC"}
@@ -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;AASnE,wBAAgB,eAAe,IAAI,MAAM,CAuDxC;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAgBtD"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":";;AASA,0CAuDC;AAED,4CAgBC;AAlFD,wEAAmE;AACnE,wEAAiF;AACjF,iEAG4C;AAC5C,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
+ {"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<void>;
13
- list(): Promise<string[]>;
14
- private isExpired;
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":"AAEA,OAAO,EAAE,gBAAgB,EAAgC,MAAM,SAAS,CAAC;AAGzE,qBAAa,qBAAqB;IAChC,OAAO,CAAC,KAAK,CAA4C;IACzD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,iBAAiB,CAAS;gBAEtB,UAAU,CAAC,EAAE,MAAM,EAAE,iBAAiB,GAAE,MAAU;IAK9D,OAAO,CAAC,WAAW;IAIb,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAmBnC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAgCxD,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB9C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYxC,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAQ/B,OAAO,CAAC,SAAS;CAIlB;AAKD,wBAAgB,eAAe,IAAI,qBAAqB,CAKvD"}
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
- constructor(storageDir, sessionExpiryDays = 7) {
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 sessionId = (0, uuid_1.v4)();
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
- createdAt: now,
63
- updatedAt: now,
64
- expiresAt,
65
- shareholders: []
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
- await this.save(session);
25
+ sessions.set(session.sessionId, session);
68
26
  return session;
69
27
  }
28
+ // Get session by ID
70
29
  async get(sessionId) {
71
- // Check cache first
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
- // Update status based on step
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
- this.cache.delete(sessionId);
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
- await this.ensureStorageDir();
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
- isExpired(session) {
136
- if (!session.expiresAt)
137
- return false;
138
- return new Date(session.expiresAt) < new Date();
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 for convenience
143
- let defaultStore = null;
59
+ // Singleton instance
60
+ let storeInstance = null;
144
61
  function getSessionStore() {
145
- if (!defaultStore) {
146
- defaultStore = new FormationSessionStore();
62
+ if (!storeInstance) {
63
+ storeInstance = new FormationSessionStore();
147
64
  }
148
- return defaultStore;
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":"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"}
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"}