@comma-agents/core 2.0.0-rc.0 → 2.0.0-rc.1

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 (75) hide show
  1. package/dist/agents/agent/agent.types.d.ts +2 -2
  2. package/dist/agents/loader/index.d.ts +2 -2
  3. package/dist/agents/loader/loader.d.ts +3 -5
  4. package/dist/agents/loader/loader.schema.d.ts +226 -13
  5. package/dist/agents/loader/loader.types.d.ts +9 -8
  6. package/dist/agents/registry/agent-registry.constants.d.ts +1 -0
  7. package/dist/agents/registry/agent-registry.d.ts +38 -0
  8. package/dist/agents/registry/agent-registry.types.d.ts +58 -0
  9. package/dist/agents/registry/index.d.ts +2 -0
  10. package/dist/credentials/backends/json-file.d.ts +1 -1
  11. package/dist/credentials/credentials.constants.d.ts +2 -0
  12. package/dist/credentials/credentials.utils.d.ts +0 -19
  13. package/dist/credentials/index.d.ts +1 -1
  14. package/dist/data-directory/data-directory.d.ts +11 -0
  15. package/dist/data-directory/index.d.ts +1 -0
  16. package/dist/defaults/defaults.d.ts +1 -1
  17. package/dist/flows/index.d.ts +2 -0
  18. package/dist/flows/loader/loader.schema.d.ts +2 -195
  19. package/dist/flows/loader/loader.utils.d.ts +5 -0
  20. package/dist/flows/registry/flow-registry.constants.d.ts +1 -0
  21. package/dist/flows/registry/flow-registry.d.ts +45 -0
  22. package/dist/flows/registry/flow-registry.types.d.ts +31 -0
  23. package/dist/flows/registry/index.d.ts +2 -0
  24. package/dist/hub/archive/archive.d.ts +2 -0
  25. package/dist/hub/archive/index.d.ts +1 -0
  26. package/dist/hub/comma-project.schema.json +171 -0
  27. package/dist/hub/hub.constants.d.ts +5 -0
  28. package/dist/hub/hub.d.ts +13 -0
  29. package/dist/hub/hub.schema.d.ts +1093 -0
  30. package/dist/hub/hub.types.d.ts +50 -0
  31. package/dist/hub/hub.utils.d.ts +3 -0
  32. package/dist/hub/index.d.ts +3 -0
  33. package/dist/hub/index.js +404 -0
  34. package/dist/hub/installed-packages/index.d.ts +2 -0
  35. package/dist/hub/installed-packages/installed-packages.d.ts +3 -0
  36. package/dist/hub/installed-packages/installed-packages.types.d.ts +14 -0
  37. package/dist/hub/package-installer/index.d.ts +2 -0
  38. package/dist/hub/package-installer/package-installer.d.ts +3 -0
  39. package/dist/hub/package-installer/package-installer.types.d.ts +11 -0
  40. package/dist/hub/registry-client/index.d.ts +2 -0
  41. package/dist/hub/registry-client/registry-client.d.ts +3 -0
  42. package/dist/hub/registry-client/registry-client.types.d.ts +10 -0
  43. package/dist/index.d.ts +13 -10
  44. package/dist/index.js +1386 -769
  45. package/dist/model/providers/catalog/catalog.utils.d.ts +2 -9
  46. package/dist/skills/skills.constants.d.ts +2 -2
  47. package/dist/skills/skills.types.d.ts +1 -1
  48. package/dist/skills/skills.utils.d.ts +0 -10
  49. package/dist/strategies/@comma/core-strategies/README.md +9 -0
  50. package/dist/strategies/@comma/core-strategies/build/build.json +69 -0
  51. package/dist/strategies/@comma/core-strategies/build/prompts/coder.md +56 -0
  52. package/dist/strategies/@comma/core-strategies/build/prompts/tester.md +39 -0
  53. package/dist/strategies/@comma/core-strategies/comma-project.json +49 -0
  54. package/dist/strategies/@comma/core-strategies/plan/plan.json +66 -0
  55. package/dist/strategies/@comma/core-strategies/plan/prompts/planner.md +59 -0
  56. package/dist/strategies/@comma/core-strategies/plan/prompts/reviewer.md +34 -0
  57. package/dist/strategies/@comma/core-strategies/qa.json +36 -0
  58. package/dist/strategies/@comma/core-strategies/reduce-complexity/reduce-complexity.jsonc +24 -0
  59. package/dist/strategies/@comma/core-strategies/standardize/manager.jsonc +54 -0
  60. package/dist/strategies/@comma/core-strategies/standardize/prompts/manager.md +278 -0
  61. package/dist/strategies/@comma/core-strategies/standardize/prompts/worker-auditor.md +131 -0
  62. package/dist/strategies/@comma/core-strategies/standardize/prompts/worker-reviewer.md +58 -0
  63. package/dist/strategies/@comma/core-strategies/standardize/worker.jsonc +69 -0
  64. package/dist/strategies/@comma/core-strategies/talk.json +42 -0
  65. package/dist/strategy/discover/discover.d.ts +10 -2
  66. package/dist/strategy/discover/discover.types.d.ts +6 -5
  67. package/dist/strategy/discover/discover.utils.d.ts +2 -13
  68. package/dist/strategy/discover/index.d.ts +1 -1
  69. package/dist/strategy/index.d.ts +3 -3
  70. package/dist/strategy/loader/loader.types.d.ts +2 -70
  71. package/dist/strategy/loader/loader.utils.d.ts +1 -8
  72. package/dist/strategy/loader/project-loader.d.ts +7 -1
  73. package/dist/strategy/schema.d.ts +154 -60
  74. package/dist/tools/built-in/list-strategy/list-strategy.d.ts +2 -2
  75. package/package.json +18 -7
@@ -1,195 +1,2 @@
1
- import { z } from "zod";
2
- /**
3
- * A step that references a named agent from the caller-provided registry.
4
- *
5
- * @example
6
- * ```yaml
7
- * steps:
8
- * - agent: researcher
9
- * - agent: writer
10
- * ```
11
- */
12
- export declare const AgentStepDescriptionSchema: z.ZodObject<{
13
- /** Name of the agent in the caller-provided registry. */
14
- agent: z.ZodString;
15
- /** Optional human-readable description of this step. */
16
- description: z.ZodOptional<z.ZodString>;
17
- }, "strict", z.ZodTypeAny, {
18
- agent: string;
19
- description?: string | undefined;
20
- }, {
21
- agent: string;
22
- description?: string | undefined;
23
- }>;
24
- /**
25
- * A step that is a nested flow definition (recursive).
26
- * Uses `z.lazy()` to support arbitrarily deep nesting.
27
- */
28
- export declare const FlowStepDescriptionSchema: z.ZodType;
29
- /** Sequential flow — pipeline where each step receives the previous step's output. */
30
- export declare const SequentialFlowDescriptionSchema: z.ZodObject<{
31
- type: z.ZodLiteral<"sequential">;
32
- /** Unique name for this flow. */
33
- name: z.ZodString;
34
- /** Optional human-readable description. */
35
- description: z.ZodOptional<z.ZodString>;
36
- /** Steps to execute — agent references or nested flow definitions. */
37
- steps: z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">;
38
- }, "strict", z.ZodTypeAny, {
39
- type: "sequential";
40
- name: string;
41
- steps: any[];
42
- description?: string | undefined;
43
- }, {
44
- type: "sequential";
45
- name: string;
46
- steps: any[];
47
- description?: string | undefined;
48
- }>;
49
- /** Cycle flow — repeating pipeline with optional observer and cycle count. */
50
- export declare const CycleFlowDescriptionSchema: z.ZodObject<{
51
- type: z.ZodLiteral<"cycle">;
52
- /**
53
- * Number of cycle iterations. Use `"Infinity"` for infinite loops.
54
- * @default 1
55
- */
56
- cycles: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"Infinity">]>>;
57
- /** Name of an observer agent that runs after each cycle. */
58
- observer: z.ZodOptional<z.ZodString>;
59
- /** Unique name for this flow. */
60
- name: z.ZodString;
61
- /** Optional human-readable description. */
62
- description: z.ZodOptional<z.ZodString>;
63
- /** Steps to execute — agent references or nested flow definitions. */
64
- steps: z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">;
65
- }, "strict", z.ZodTypeAny, {
66
- type: "cycle";
67
- name: string;
68
- steps: any[];
69
- description?: string | undefined;
70
- cycles?: number | "Infinity" | undefined;
71
- observer?: string | undefined;
72
- }, {
73
- type: "cycle";
74
- name: string;
75
- steps: any[];
76
- description?: string | undefined;
77
- cycles?: number | "Infinity" | undefined;
78
- observer?: string | undefined;
79
- }>;
80
- /** Broadcast flow — fan-out where all steps receive the same message. */
81
- export declare const BroadcastFlowDescriptionSchema: z.ZodObject<{
82
- type: z.ZodLiteral<"broadcast">;
83
- /**
84
- * Separator used to join step responses.
85
- * @default "\n\n"
86
- */
87
- separator: z.ZodOptional<z.ZodString>;
88
- /** Unique name for this flow. */
89
- name: z.ZodString;
90
- /** Optional human-readable description. */
91
- description: z.ZodOptional<z.ZodString>;
92
- /** Steps to execute — agent references or nested flow definitions. */
93
- steps: z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">;
94
- }, "strict", z.ZodTypeAny, {
95
- type: "broadcast";
96
- name: string;
97
- steps: any[];
98
- description?: string | undefined;
99
- separator?: string | undefined;
100
- }, {
101
- type: "broadcast";
102
- name: string;
103
- steps: any[];
104
- description?: string | undefined;
105
- separator?: string | undefined;
106
- }>;
107
- /**
108
- * Flow description schema — validates a standalone flow description file.
109
- *
110
- * Discriminated union on `type` supporting sequential, cycle, and broadcast flows.
111
- *
112
- * @example
113
- * ```yaml
114
- * name: code-review
115
- * type: sequential
116
- * steps:
117
- * - agent: writer
118
- * - agent: reviewer
119
- * - agent: editor
120
- * ```
121
- */
122
- export declare const FlowDescriptionSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
123
- type: z.ZodLiteral<"sequential">;
124
- /** Unique name for this flow. */
125
- name: z.ZodString;
126
- /** Optional human-readable description. */
127
- description: z.ZodOptional<z.ZodString>;
128
- /** Steps to execute — agent references or nested flow definitions. */
129
- steps: z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">;
130
- }, "strict", z.ZodTypeAny, {
131
- type: "sequential";
132
- name: string;
133
- steps: any[];
134
- description?: string | undefined;
135
- }, {
136
- type: "sequential";
137
- name: string;
138
- steps: any[];
139
- description?: string | undefined;
140
- }>, z.ZodObject<{
141
- type: z.ZodLiteral<"cycle">;
142
- /**
143
- * Number of cycle iterations. Use `"Infinity"` for infinite loops.
144
- * @default 1
145
- */
146
- cycles: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"Infinity">]>>;
147
- /** Name of an observer agent that runs after each cycle. */
148
- observer: z.ZodOptional<z.ZodString>;
149
- /** Unique name for this flow. */
150
- name: z.ZodString;
151
- /** Optional human-readable description. */
152
- description: z.ZodOptional<z.ZodString>;
153
- /** Steps to execute — agent references or nested flow definitions. */
154
- steps: z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">;
155
- }, "strict", z.ZodTypeAny, {
156
- type: "cycle";
157
- name: string;
158
- steps: any[];
159
- description?: string | undefined;
160
- cycles?: number | "Infinity" | undefined;
161
- observer?: string | undefined;
162
- }, {
163
- type: "cycle";
164
- name: string;
165
- steps: any[];
166
- description?: string | undefined;
167
- cycles?: number | "Infinity" | undefined;
168
- observer?: string | undefined;
169
- }>, z.ZodObject<{
170
- type: z.ZodLiteral<"broadcast">;
171
- /**
172
- * Separator used to join step responses.
173
- * @default "\n\n"
174
- */
175
- separator: z.ZodOptional<z.ZodString>;
176
- /** Unique name for this flow. */
177
- name: z.ZodString;
178
- /** Optional human-readable description. */
179
- description: z.ZodOptional<z.ZodString>;
180
- /** Steps to execute — agent references or nested flow definitions. */
181
- steps: z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">;
182
- }, "strict", z.ZodTypeAny, {
183
- type: "broadcast";
184
- name: string;
185
- steps: any[];
186
- description?: string | undefined;
187
- separator?: string | undefined;
188
- }, {
189
- type: "broadcast";
190
- name: string;
191
- steps: any[];
192
- description?: string | undefined;
193
- separator?: string | undefined;
194
- }>]>;
195
- export type FlowDescription = z.infer<typeof FlowDescriptionSchema>;
1
+ export type { FlowDef as FlowDescription } from "../../strategy/schema";
2
+ export { AgentStepSchema as AgentStepDescriptionSchema, BroadcastFlowDefSchema as BroadcastFlowDescriptionSchema, CustomFlowDefSchema as CustomFlowDescriptionSchema, CycleFlowDefSchema as CycleFlowDescriptionSchema, FlowDefSchema as FlowDescriptionSchema, FlowStepSchema as FlowStepDescriptionSchema, SequentialFlowDefSchema as SequentialFlowDescriptionSchema, } from "../../strategy/schema";
@@ -0,0 +1,5 @@
1
+ import type { Agent } from "../../agents/agent/agent.types";
2
+ import type { FlowDef } from "../../strategy/schema";
3
+ import type { LoadFlowOptions } from "./loader.types";
4
+ /** Build a validated declarative flow tree into a runnable agent. */
5
+ export declare function buildFlowFromDescription(description: FlowDef, options: LoadFlowOptions): Agent;
@@ -0,0 +1 @@
1
+ export declare const BUILT_IN_FLOW_NAMES: readonly ["sequential", "cycle", "broadcast"];
@@ -0,0 +1,45 @@
1
+ import type { z } from "zod";
2
+ import type { FlowTypeDefinition, RegisteredFlowFactory } from "./flow-registry.types";
3
+ /**
4
+ * Preserve schema inference when declaring a reusable custom flow type.
5
+ *
6
+ * @param definition - Configuration schema and factory for the custom flow.
7
+ * @returns The unchanged flow definition, with inferred configuration types.
8
+ * @example
9
+ * ```ts
10
+ * const firstMatchFlow = defineFlowType({
11
+ * configSchema: z.object({ marker: z.string() }),
12
+ * create: ({ name, steps, config }) => createFlow({
13
+ * name,
14
+ * steps,
15
+ * execute: async (availableSteps, message, flowContext) => {
16
+ * for (const step of availableSteps) {
17
+ * const result = await flowContext.runStep(step, message);
18
+ * if (result.text.includes(config.marker)) return result.text;
19
+ * }
20
+ * return message;
21
+ * },
22
+ * }),
23
+ * });
24
+ * ```
25
+ */
26
+ export declare function defineFlowType<ConfigSchema extends z.ZodTypeAny>(definition: FlowTypeDefinition<ConfigSchema>): FlowTypeDefinition<ConfigSchema>;
27
+ /**
28
+ * Register a custom flow type for use in strategy and standalone flow files.
29
+ *
30
+ * @param name - Value referenced by a declarative flow's `type` field.
31
+ * @param definition - Configuration schema and factory for the custom flow.
32
+ * @example
33
+ * ```ts
34
+ * registerFlow("first-match", firstMatchFlow);
35
+ * ```
36
+ */
37
+ export declare function registerFlow<ConfigSchema extends z.ZodTypeAny>(name: string, definition: FlowTypeDefinition<ConfigSchema>): void;
38
+ /** Remove a custom flow registration. Built-in flow types remain available. */
39
+ export declare function unregisterFlow(name: string): boolean;
40
+ /** Return the currently registered custom flow type names. */
41
+ export declare function getRegisteredFlowNames(): readonly string[];
42
+ /** @internal Resolve a custom flow factory by type name. */
43
+ export declare function resolveRegisteredFlow(name: string): RegisteredFlowFactory | undefined;
44
+ /** Reset custom flow registrations. Primarily intended for test isolation. */
45
+ export declare function resetFlowRegistry(): void;
@@ -0,0 +1,31 @@
1
+ import type { z } from "zod";
2
+ import type { Agent } from "../../agents/agent/agent.types";
3
+ /** Context passed to a registered custom flow factory. */
4
+ export interface FlowTypeContext<Config> {
5
+ /** Name declared for this flow instance. */
6
+ readonly name: string;
7
+ /** Agent and nested-flow steps declared for this flow instance. */
8
+ readonly steps: ReadonlyArray<Agent>;
9
+ /** Custom configuration validated by the flow type's schema. */
10
+ readonly config: Config;
11
+ /** Resolve another named agent from the strategy or standalone loader registry. */
12
+ readonly resolveAgent: (name: string) => Agent;
13
+ }
14
+ /** Definition used to validate and construct a reusable declarative flow type. */
15
+ export interface FlowTypeDefinition<ConfigSchema extends z.ZodTypeAny> {
16
+ /** Schema for the flow definition's `config` object. */
17
+ readonly configSchema: ConfigSchema;
18
+ /** Create a runnable flow from resolved steps and validated configuration. */
19
+ readonly create: (context: FlowTypeContext<z.output<ConfigSchema>>) => Agent;
20
+ }
21
+ /** @internal Unvalidated context used by the declarative flow loader. */
22
+ export interface RegisteredFlowContext {
23
+ readonly name: string;
24
+ readonly steps: ReadonlyArray<Agent>;
25
+ readonly config: unknown;
26
+ readonly resolveAgent: (name: string) => Agent;
27
+ }
28
+ /** @internal Type-erased registered factory used after registration. */
29
+ export interface RegisteredFlowFactory {
30
+ readonly create: (context: RegisteredFlowContext) => Agent;
31
+ }
@@ -0,0 +1,2 @@
1
+ export { defineFlowType, getRegisteredFlowNames, registerFlow, resetFlowRegistry, unregisterFlow, } from "./flow-registry";
2
+ export type { FlowTypeContext, FlowTypeDefinition, } from "./flow-registry.types";
@@ -0,0 +1,2 @@
1
+ /** Extract one Hub package from a compressed repository archive. */
2
+ export declare function extractHubPackageArchive(compressedArchive: Uint8Array, packageName: string, destination: string): Promise<void>;
@@ -0,0 +1 @@
1
+ export { extractHubPackageArchive } from "./archive";
@@ -0,0 +1,171 @@
1
+ {
2
+ "$ref": "#/definitions/CommaProjectManifest",
3
+ "definitions": {
4
+ "CommaProjectManifest": {
5
+ "type": "object",
6
+ "properties": {
7
+ "name": {
8
+ "type": "string",
9
+ "pattern": "^@[a-z0-9][a-z0-9-]*\\/[a-z0-9][a-z0-9-]*$"
10
+ },
11
+ "version": {
12
+ "type": "string",
13
+ "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$"
14
+ },
15
+ "description": {
16
+ "type": "string"
17
+ },
18
+ "license": {
19
+ "type": "string"
20
+ },
21
+ "author": {
22
+ "type": "object",
23
+ "properties": {
24
+ "name": {
25
+ "type": "string",
26
+ "minLength": 1
27
+ },
28
+ "email": {
29
+ "type": "string",
30
+ "format": "email"
31
+ },
32
+ "url": {
33
+ "type": "string",
34
+ "format": "uri"
35
+ }
36
+ },
37
+ "required": [
38
+ "name"
39
+ ],
40
+ "additionalProperties": false
41
+ },
42
+ "contributors": {
43
+ "type": "array",
44
+ "items": {
45
+ "$ref": "#/definitions/CommaProjectManifest/properties/author"
46
+ }
47
+ },
48
+ "keywords": {
49
+ "type": "array",
50
+ "items": {
51
+ "type": "string"
52
+ }
53
+ },
54
+ "strategies": {
55
+ "type": "object",
56
+ "additionalProperties": {
57
+ "type": "object",
58
+ "properties": {
59
+ "path": {
60
+ "type": "string",
61
+ "minLength": 1
62
+ },
63
+ "expose": {
64
+ "type": "boolean"
65
+ },
66
+ "description": {
67
+ "type": "string"
68
+ }
69
+ },
70
+ "required": [
71
+ "path"
72
+ ],
73
+ "additionalProperties": false
74
+ },
75
+ "propertyNames": {
76
+ "pattern": "^[a-z0-9][a-z0-9-]*$"
77
+ }
78
+ },
79
+ "agents": {
80
+ "$ref": "#/definitions/CommaProjectManifest/properties/strategies"
81
+ },
82
+ "flows": {
83
+ "$ref": "#/definitions/CommaProjectManifest/properties/strategies"
84
+ },
85
+ "tools": {
86
+ "$ref": "#/definitions/CommaProjectManifest/properties/strategies"
87
+ },
88
+ "entry": {
89
+ "type": "string",
90
+ "minLength": 1
91
+ },
92
+ "dependencies": {
93
+ "type": "object",
94
+ "additionalProperties": {
95
+ "type": "string"
96
+ }
97
+ },
98
+ "environment": {
99
+ "type": "object",
100
+ "additionalProperties": {
101
+ "type": "object",
102
+ "properties": {
103
+ "description": {
104
+ "type": "string"
105
+ },
106
+ "required": {
107
+ "type": "boolean"
108
+ },
109
+ "default": {
110
+ "type": "string"
111
+ },
112
+ "example": {
113
+ "type": "string"
114
+ }
115
+ },
116
+ "additionalProperties": false
117
+ },
118
+ "propertyNames": {
119
+ "pattern": "^[A-Z_][A-Z0-9_]*$"
120
+ }
121
+ },
122
+ "permissions": {
123
+ "type": "object",
124
+ "properties": {
125
+ "network": {
126
+ "type": "boolean"
127
+ },
128
+ "filesystem": {
129
+ "type": "boolean"
130
+ },
131
+ "shell": {
132
+ "type": "boolean"
133
+ },
134
+ "executesCode": {
135
+ "type": "boolean"
136
+ }
137
+ },
138
+ "additionalProperties": false
139
+ },
140
+ "links": {
141
+ "type": "object",
142
+ "properties": {
143
+ "homepage": {
144
+ "type": "string",
145
+ "format": "uri"
146
+ },
147
+ "repository": {
148
+ "type": "string",
149
+ "format": "uri"
150
+ },
151
+ "docs": {
152
+ "type": "string",
153
+ "format": "uri"
154
+ },
155
+ "issues": {
156
+ "type": "string",
157
+ "format": "uri"
158
+ }
159
+ },
160
+ "additionalProperties": false
161
+ }
162
+ },
163
+ "required": [
164
+ "name",
165
+ "version"
166
+ ],
167
+ "additionalProperties": false
168
+ }
169
+ },
170
+ "$schema": "http://json-schema.org/draft-07/schema#"
171
+ }
@@ -0,0 +1,5 @@
1
+ import type { HubRepositoryConfig } from "./hub.types";
2
+ export declare const DEFAULT_HUB_REPOSITORY: HubRepositoryConfig;
3
+ export declare const HUB_MAX_FILES = 2000;
4
+ export declare const HUB_MAX_UNCOMPRESSED_BYTES: number;
5
+ export declare const HUB_INSTALLED_STATE_FILENAME = "installed-packages.json";
@@ -0,0 +1,13 @@
1
+ import type { CreateHubManagerOptions, HubManager } from "./hub.types";
2
+ /**
3
+ * Create a manager for discovering, installing, updating, and removing Hub packages.
4
+ *
5
+ * @param options - Optional data directory, repository, and fetch implementation.
6
+ * @example
7
+ * ```ts
8
+ * const hub = createHubManager();
9
+ * const packages = await hub.listAvailable();
10
+ * await hub.install(packages[0].name);
11
+ * ```
12
+ */
13
+ export declare function createHubManager(options?: CreateHubManagerOptions): HubManager;