@frontmcp/sdk 1.0.0-beta.10 → 1.0.0-beta.12

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.
@@ -5,6 +5,8 @@ import { ResourceMetadata, ResourceTemplateMetadata } from '../metadata';
5
5
  import { ReadResourceResult, Request, Notification } from '@frontmcp/protocol';
6
6
  import { RequestHandlerExtra } from '@frontmcp/protocol';
7
7
  import { AuthInfo } from '@frontmcp/protocol';
8
+ import type { ResourceArgumentCompleter } from '../interfaces/resource.interface';
9
+ import ProviderRegistry from '../../provider/provider.registry';
8
10
  export type ResourceReadExtra = RequestHandlerExtra<Request, Notification> & {
9
11
  authInfo: AuthInfo;
10
12
  };
@@ -43,6 +45,11 @@ export declare abstract class ResourceEntry<Params extends Record<string, string
43
45
  * Whether this resource is a template (has uriTemplate instead of uri)
44
46
  */
45
47
  isTemplate: boolean;
48
+ /**
49
+ * Get the provider registry for this resource.
50
+ * Used by flows to build context-aware providers for CONTEXT-scoped dependencies.
51
+ */
52
+ abstract get providers(): ProviderRegistry;
46
53
  /**
47
54
  * Create a resource context (class or function wrapper).
48
55
  * @param uri The actual URI being read (for templates, this includes resolved params)
@@ -67,5 +74,11 @@ export declare abstract class ResourceEntry<Params extends Record<string, string
67
74
  matches: boolean;
68
75
  params: Params;
69
76
  };
77
+ /**
78
+ * Get an argument completer for resource template autocompletion.
79
+ * Override in subclasses to provide suggestions for template parameters.
80
+ * Returns null by default (no completion available).
81
+ */
82
+ getArgumentCompleter(_argName: string): ResourceArgumentCompleter | null;
70
83
  }
71
84
  //# sourceMappingURL=resource.entry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource.entry.d.ts","sourceRoot":"","sources":["../../../src/common/entries/resource.entry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG;IAC3E,QAAQ,EAAE,QAAQ,CAAC;CAMpB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AACtD,MAAM,MAAM,2BAA2B,CAAC,CAAC,IAAI;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAE3G;;;;GAIG;AACH,8BAAsB,aAAa,CACjC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9D,GAAG,GAAG,OAAO,CACb,SAAQ,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,gBAAgB,GAAG,wBAAwB,CAAC;IACjH,KAAK,EAAE,aAAa,CAAC;IAErB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,GAAG,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC;IAElG;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,GAAG,oBAAoB;IAEvD;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,2BAA2B,CAAC,oBAAoB,CAAC;IAErF;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;CACrE"}
1
+ {"version":3,"file":"resource.entry.d.ts","sourceRoot":"","sources":["../../../src/common/entries/resource.entry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAEhE,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG;IAC3E,QAAQ,EAAE,QAAQ,CAAC;CAMpB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AACtD,MAAM,MAAM,2BAA2B,CAAC,CAAC,IAAI;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAE3G;;;;GAIG;AACH,8BAAsB,aAAa,CACjC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9D,GAAG,GAAG,OAAO,CACb,SAAQ,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,gBAAgB,GAAG,wBAAwB,CAAC;IACjH,KAAK,EAAE,aAAa,CAAC;IAErB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,QAAQ,KAAK,SAAS,IAAI,gBAAgB,CAAC;IAE3C;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,GAAG,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC;IAElG;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,GAAG,oBAAoB;IAEvD;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,2BAA2B,CAAC,oBAAoB,CAAC;IAErF;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAEpE;;;;OAIG;IACH,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI;CAGzE"}
@@ -37,6 +37,17 @@ export declare abstract class ScopeEntry extends BaseEntry<ScopeRecord, unknown,
37
37
  abstract get transportService(): TransportService | undefined;
38
38
  abstract get rateLimitManager(): GuardManager | undefined;
39
39
  abstract get elicitationStore(): ElicitationStore | undefined;
40
+ /**
41
+ * Lifecycle callbacks registered by plugins via onServerStarted().
42
+ * Called after the HTTP server starts listening.
43
+ */
44
+ private readonly lifecycleCallbacks;
45
+ /**
46
+ * Register a callback to run after the server has started.
47
+ * Plugins can use this for post-startup initialization (e.g., warming caches,
48
+ * starting background jobs, logging readiness).
49
+ */
50
+ onServerStarted(callback: () => void | Promise<void>): void;
40
51
  abstract registryFlows(...flows: FlowType[]): Promise<void>;
41
52
  abstract runFlow<Name extends FlowName>(name: Name, input: FlowInputOf<Name>, additionalDeps?: Map<Token, Type>): Promise<FlowOutputOf<Name> | undefined>;
42
53
  abstract runFlowForOutput<Name extends FlowName>(name: Name, input: FlowInputOf<Name>, additionalDeps?: Map<Token, Type>): Promise<FlowOutputOf<Name>>;
@@ -1 +1 @@
1
- {"version":3,"file":"scope.entry.d.ts","sourceRoot":"","sources":["../../../src/common/entries/scope.entry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope.entry.d.ts","sourceRoot":"","sources":["../../../src/common/entries/scope.entry.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,23 @@ import { ExecutionContextBase, ExecutionContextBaseArgs } from './execution-cont
9
9
  export interface ResourceInterface<Params extends Record<string, string> = Record<string, string>, Out = unknown> {
10
10
  execute(uri: string, params: Params): Promise<Out>;
11
11
  }
12
+ /**
13
+ * Result returned by a resource argument completer.
14
+ */
15
+ export interface ResourceCompletionResult {
16
+ /** Completion suggestions matching the partial value */
17
+ values: string[];
18
+ /** Total number of matching values (for pagination) */
19
+ total?: number;
20
+ /** Whether more results exist beyond what was returned */
21
+ hasMore?: boolean;
22
+ }
23
+ /**
24
+ * Function that provides completion suggestions for a resource template argument.
25
+ * @param partial - The partial value typed so far
26
+ * @returns Completion suggestions
27
+ */
28
+ export type ResourceArgumentCompleter = (partial: string) => Promise<ResourceCompletionResult> | ResourceCompletionResult;
12
29
  /**
13
30
  * Function-style resource type.
14
31
  * This represents resources created via resource() or resourceTemplate() builders.
@@ -52,6 +69,27 @@ export declare abstract class ResourceContext<Params extends Record<string, stri
52
69
  private readonly _outputHistory;
53
70
  constructor(args: ResourceCtorArgs<Params>);
54
71
  abstract execute(uri: string, params: Params): Promise<Out>;
72
+ /**
73
+ * Override to provide autocompletion for resource template arguments.
74
+ * Called by the MCP `completion/complete` handler when a client requests
75
+ * suggestions for a template parameter.
76
+ *
77
+ * @param argName - The template parameter name (e.g., 'userId')
78
+ * @returns A completer function, or null if no completion is available for this argument
79
+ *
80
+ * @example
81
+ * ```typescript
82
+ * getArgumentCompleter(argName: string): ResourceArgumentCompleter | null {
83
+ * if (argName === 'userId') {
84
+ * return async (partial) => ({
85
+ * values: await this.searchUsers(partial),
86
+ * });
87
+ * }
88
+ * return null;
89
+ * }
90
+ * ```
91
+ */
92
+ getArgumentCompleter(_argName: string): ResourceArgumentCompleter | null;
55
93
  get output(): Out | undefined;
56
94
  set output(v: Out | undefined);
57
95
  get outputHistory(): ReadonlyArray<HistoryEntry<Out>>;
@@ -1 +1 @@
1
- {"version":3,"file":"resource.interface.d.ts","sourceRoot":"","sources":["../../../src/common/interfaces/resource.interface.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEzE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAE/F;;;;GAIG;AACH,MAAM,WAAW,iBAAiB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO;IAC9G,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACpD;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,IAClG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GACpC,oBAAoB,GACpB,MAAM,CAAC;AAEX,KAAK,YAAY,CAAC,CAAC,IAAI;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IACzF,wBAAwB,GAAG;IACzB,QAAQ,EAAE,gBAAgB,GAAG,wBAAwB,CAAC;IACtD,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEJ;;;;GAIG;AACH,8BAAsB,eAAe,CACnC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9D,GAAG,GAAG,OAAO,CACb,SAAQ,oBAAoB,CAAC,GAAG,CAAC;IACjC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IACtC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,GAAG,wBAAwB,CAAC;IAE/D,gCAAgC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAGxB,OAAO,CAAC,OAAO,CAAC,CAAM;IAGtB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA2B;gBAE9C,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC;IAgB1C,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAE3D,IAAW,MAAM,IAAI,GAAG,GAAG,SAAS,CAEnC;IAED,IAAW,MAAM,CAAC,CAAC,EAAE,GAAG,GAAG,SAAS,EAGnC;IAED,IAAW,aAAa,IAAI,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAE3D;IAED,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK;CAK3B"}
1
+ {"version":3,"file":"resource.interface.d.ts","sourceRoot":"","sources":["../../../src/common/interfaces/resource.interface.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,17 @@ import { SkillRecord } from '../records';
6
6
  * Type for skill definitions that can be passed to FrontMcp apps/plugins.
7
7
  */
8
8
  export type SkillType<T = unknown> = Type<T> | SkillRecord | string;
9
+ /**
10
+ * Metadata for a resolved reference file within a skill's references/ directory.
11
+ */
12
+ export interface SkillReferenceInfo {
13
+ /** Reference name (typically filename without .md) */
14
+ name: string;
15
+ /** Short description from frontmatter or first paragraph */
16
+ description: string;
17
+ /** Filename relative to the skill directory */
18
+ filename: string;
19
+ }
9
20
  /**
10
21
  * Full content returned when loading a skill.
11
22
  * Contains all information needed for an LLM to execute the skill.
@@ -68,6 +79,11 @@ export interface SkillContent {
68
79
  * Bundled resource directories (scripts/, references/, assets/).
69
80
  */
70
81
  resources?: SkillResources;
82
+ /**
83
+ * Resolved reference metadata from the skill's references/ directory.
84
+ * Each entry contains name, description, and filename for the reference.
85
+ */
86
+ resolvedReferences?: SkillReferenceInfo[];
71
87
  }
72
88
  /**
73
89
  * Constructor arguments for SkillContext.
@@ -1 +1 @@
1
- {"version":3,"file":"skill.interface.d.ts","sourceRoot":"","sources":["../../../src/common/interfaces/skill.interface.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAoB,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5G,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,MAAM,CAAC;AAEpE;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAErE;;OAEG;IACH,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC,CAAC;IAEH;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,wBAAwB,GAAG;IACrD,QAAQ,EAAE,aAAa,CAAC;CACzB,CAAC;AAEF;;;;;;;;GAQG;AACH,8BAAsB,YAAa,SAAQ,oBAAoB,CAAC,YAAY,CAAC;IAC3E,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;gBAErB,IAAI,EAAE,aAAa;IAY/B;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAE5C;;;OAGG;IACH,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC;IAEvC;;OAEG;IACH,WAAW,IAAI,YAAY,EAAE;IAK7B;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE;CAGzB"}
1
+ {"version":3,"file":"skill.interface.d.ts","sourceRoot":"","sources":["../../../src/common/interfaces/skill.interface.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAoB,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5G,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,MAAM,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAErE;;OAEG;IACH,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC,CAAC;IAEH;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,wBAAwB,GAAG;IACrD,QAAQ,EAAE,aAAa,CAAC;CACzB,CAAC;AAEF;;;;;;;;GAQG;AACH,8BAAsB,YAAa,SAAQ,oBAAoB,CAAC,YAAY,CAAC;IAC3E,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;gBAErB,IAAI,EAAE,aAAa;IAY/B;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAE5C;;;OAGG;IACH,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC;IAEvC;;OAEG;IACH,WAAW,IAAI,YAAY,EAAE;IAK7B;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE;CAGzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"complete.flow.d.ts","sourceRoot":"","sources":["../../../src/completion/flows/complete.flow.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,QAAQ,EAAyB,cAAc,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGf,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;iBAAuB,CAAC;AAe1C,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;iBAOf,CAAC;AAEH,QAAA,MAAM,IAAI;;;;CAI2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,qBAAqB,EAAE,cAAc,CACnC,YAAY,EACZ,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,qBAA8B,CAAC;AAU5C,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAC7D,MAAM,wCAA0C;IAG1C,UAAU;IA0CV,QAAQ;IAqGR,QAAQ;CAMf"}
1
+ {"version":3,"file":"complete.flow.d.ts","sourceRoot":"","sources":["../../../src/completion/flows/complete.flow.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,QAAQ,EAAyB,cAAc,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGf,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;iBAAuB,CAAC;AAe1C,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;iBAOf,CAAC;AAEH,QAAA,MAAM,IAAI;;;;CAI2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,qBAAqB,EAAE,cAAc,CACnC,YAAY,EACZ,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,qBAA8B,CAAC;AAU5C,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAC7D,MAAM,wCAA0C;IAG1C,UAAU;IA0CV,QAAQ;IAkGR,QAAQ;CAMf"}