@ankhorage/studio 0.0.20 → 0.1.0
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/README.md +1 -2
- package/dist/cli/index.d.ts +4 -4
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +81 -56
- package/dist/cli/index.js.map +1 -1
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +17 -6
- package/dist/core/constants.js.map +1 -1
- package/dist/hooks/useProjects.js +1 -1
- package/dist/hooks/useProjects.js.map +1 -1
- package/dist/host/createStudioHost.d.ts +13 -0
- package/dist/host/createStudioHost.d.ts.map +1 -0
- package/dist/host/createStudioHost.js +16 -0
- package/dist/host/createStudioHost.js.map +1 -0
- package/dist/host/http/security.d.ts +2 -0
- package/dist/host/http/security.d.ts.map +1 -0
- package/dist/host/http/security.js +55 -0
- package/dist/host/http/security.js.map +1 -0
- package/dist/host/http/server.d.ts +16 -0
- package/dist/host/http/server.d.ts.map +1 -0
- package/dist/host/http/server.js +549 -0
- package/dist/host/http/server.js.map +1 -0
- package/dist/host/layout/auth/resolveAuthLayoutPlan.d.ts +38 -0
- package/dist/host/layout/auth/resolveAuthLayoutPlan.d.ts.map +1 -0
- package/dist/host/layout/auth/resolveAuthLayoutPlan.js +262 -0
- package/dist/host/layout/auth/resolveAuthLayoutPlan.js.map +1 -0
- package/dist/host/layout/layoutGenerator.d.ts +19 -0
- package/dist/host/layout/layoutGenerator.d.ts.map +1 -0
- package/dist/host/layout/layoutGenerator.js +418 -0
- package/dist/host/layout/layoutGenerator.js.map +1 -0
- package/dist/host/layout/templates/auth/adapter.d.ts +6 -0
- package/dist/host/layout/templates/auth/adapter.d.ts.map +1 -0
- package/dist/host/layout/templates/auth/adapter.js +94 -0
- package/dist/host/layout/templates/auth/adapter.js.map +1 -0
- package/dist/host/layout/templates/auth/screen.d.ts +12 -0
- package/dist/host/layout/templates/auth/screen.d.ts.map +1 -0
- package/dist/host/layout/templates/auth/screen.js +648 -0
- package/dist/host/layout/templates/auth/screen.js.map +1 -0
- package/dist/host/layout/templates/auth/session.d.ts +2 -0
- package/dist/host/layout/templates/auth/session.d.ts.map +1 -0
- package/dist/host/layout/templates/auth/session.js +326 -0
- package/dist/host/layout/templates/auth/session.js.map +1 -0
- package/dist/host/layout/templates/auth/signOut.d.ts +2 -0
- package/dist/host/layout/templates/auth/signOut.d.ts.map +1 -0
- package/dist/host/layout/templates/auth/signOut.js +43 -0
- package/dist/host/layout/templates/auth/signOut.js.map +1 -0
- package/dist/host/layout/templates/index.d.ts +11 -0
- package/dist/host/layout/templates/index.d.ts.map +1 -0
- package/dist/host/layout/templates/index.js +10 -0
- package/dist/host/layout/templates/index.js.map +1 -0
- package/dist/host/layout/templates/navigation.d.ts +16 -0
- package/dist/host/layout/templates/navigation.d.ts.map +1 -0
- package/dist/host/layout/templates/navigation.js +332 -0
- package/dist/host/layout/templates/navigation.js.map +1 -0
- package/dist/host/layout/templates/nestedLayout.d.ts +7 -0
- package/dist/host/layout/templates/nestedLayout.d.ts.map +1 -0
- package/dist/host/layout/templates/nestedLayout.js +56 -0
- package/dist/host/layout/templates/nestedLayout.js.map +1 -0
- package/dist/host/layout/templates/redirect.d.ts +2 -0
- package/dist/host/layout/templates/redirect.d.ts.map +1 -0
- package/dist/host/layout/templates/redirect.js +10 -0
- package/dist/host/layout/templates/redirect.js.map +1 -0
- package/dist/host/layout/templates/rootLayout.d.ts +28 -0
- package/dist/host/layout/templates/rootLayout.d.ts.map +1 -0
- package/dist/host/layout/templates/rootLayout.js +507 -0
- package/dist/host/layout/templates/rootLayout.js.map +1 -0
- package/dist/host/layout/templates/screen.d.ts +6 -0
- package/dist/host/layout/templates/screen.d.ts.map +1 -0
- package/dist/host/layout/templates/screen.js +94 -0
- package/dist/host/layout/templates/screen.js.map +1 -0
- package/dist/host/layout/templates/utils/routes.d.ts +3 -0
- package/dist/host/layout/templates/utils/routes.d.ts.map +1 -0
- package/dist/host/layout/templates/utils/routes.js +15 -0
- package/dist/host/layout/templates/utils/routes.js.map +1 -0
- package/dist/host/layout/templates/utils/strings.d.ts +3 -0
- package/dist/host/layout/templates/utils/strings.d.ts.map +1 -0
- package/dist/host/layout/templates/utils/strings.js +7 -0
- package/dist/host/layout/templates/utils/strings.js.map +1 -0
- package/dist/host/layout/utils/escapeStringLiteral.d.ts +2 -0
- package/dist/host/layout/utils/escapeStringLiteral.d.ts.map +1 -0
- package/dist/host/layout/utils/escapeStringLiteral.js +8 -0
- package/dist/host/layout/utils/escapeStringLiteral.js.map +1 -0
- package/dist/host/manifestSystem/auth/index.d.ts +2 -0
- package/dist/host/manifestSystem/auth/index.d.ts.map +1 -0
- package/dist/host/manifestSystem/auth/index.js +2 -0
- package/dist/host/manifestSystem/auth/index.js.map +1 -0
- package/dist/host/manifestSystem/auth/shared/global.auth.system.tpl.d.ts +4 -0
- package/dist/host/manifestSystem/auth/shared/global.auth.system.tpl.d.ts.map +1 -0
- package/dist/host/manifestSystem/auth/shared/global.auth.system.tpl.js +7 -0
- package/dist/host/manifestSystem/auth/shared/global.auth.system.tpl.js.map +1 -0
- package/dist/host/manifestSystem/auth/shared/index.d.ts +3 -0
- package/dist/host/manifestSystem/auth/shared/index.d.ts.map +1 -0
- package/dist/host/manifestSystem/auth/shared/index.js +8 -0
- package/dist/host/manifestSystem/auth/shared/index.js.map +1 -0
- package/dist/host/manifestSystem/index.d.ts +5 -0
- package/dist/host/manifestSystem/index.d.ts.map +1 -0
- package/dist/host/manifestSystem/index.js +23 -0
- package/dist/host/manifestSystem/index.js.map +1 -0
- package/dist/host/manifestSystem/types.d.ts +8 -0
- package/dist/host/manifestSystem/types.d.ts.map +1 -0
- package/dist/host/manifestSystem/types.js +2 -0
- package/dist/host/manifestSystem/types.js.map +1 -0
- package/dist/host/modules/catalog.d.ts +40 -0
- package/dist/host/modules/catalog.d.ts.map +1 -0
- package/dist/host/modules/catalog.js +112 -0
- package/dist/host/modules/catalog.js.map +1 -0
- package/dist/host/modules/layout.d.ts +7 -0
- package/dist/host/modules/layout.d.ts.map +1 -0
- package/dist/host/modules/layout.js +2 -0
- package/dist/host/modules/layout.js.map +1 -0
- package/dist/host/modules/runtime/LocalFsTargetAdapter.d.ts +34 -0
- package/dist/host/modules/runtime/LocalFsTargetAdapter.d.ts.map +1 -0
- package/dist/host/modules/runtime/LocalFsTargetAdapter.js +85 -0
- package/dist/host/modules/runtime/LocalFsTargetAdapter.js.map +1 -0
- package/dist/host/orchestrator/generatedAppFiles.d.ts +8 -0
- package/dist/host/orchestrator/generatedAppFiles.d.ts.map +1 -0
- package/dist/host/orchestrator/generatedAppFiles.js +125 -0
- package/dist/host/orchestrator/generatedAppFiles.js.map +1 -0
- package/dist/host/orchestrator/generatedRouteCleanup.d.ts +5 -0
- package/dist/host/orchestrator/generatedRouteCleanup.d.ts.map +1 -0
- package/dist/host/orchestrator/generatedRouteCleanup.js +117 -0
- package/dist/host/orchestrator/generatedRouteCleanup.js.map +1 -0
- package/dist/host/orchestrator/infraGenerator.d.ts +35 -0
- package/dist/host/orchestrator/infraGenerator.d.ts.map +1 -0
- package/dist/host/orchestrator/infraGenerator.js +135 -0
- package/dist/host/orchestrator/infraGenerator.js.map +1 -0
- package/dist/host/orchestrator/infraRuntime.d.ts +38 -0
- package/dist/host/orchestrator/infraRuntime.d.ts.map +1 -0
- package/dist/host/orchestrator/infraRuntime.js +227 -0
- package/dist/host/orchestrator/infraRuntime.js.map +1 -0
- package/dist/host/orchestrator/infraValidation.d.ts +3 -0
- package/dist/host/orchestrator/infraValidation.d.ts.map +1 -0
- package/dist/host/orchestrator/infraValidation.js +59 -0
- package/dist/host/orchestrator/infraValidation.js.map +1 -0
- package/dist/host/orchestrator/moduleManager.d.ts +86 -0
- package/dist/host/orchestrator/moduleManager.d.ts.map +1 -0
- package/dist/host/orchestrator/moduleManager.js +312 -0
- package/dist/host/orchestrator/moduleManager.js.map +1 -0
- package/dist/host/orchestrator/projectDeletion.d.ts +27 -0
- package/dist/host/orchestrator/projectDeletion.d.ts.map +1 -0
- package/dist/host/orchestrator/projectDeletion.js +242 -0
- package/dist/host/orchestrator/projectDeletion.js.map +1 -0
- package/dist/host/orchestrator/projectManager.d.ts +87 -0
- package/dist/host/orchestrator/projectManager.d.ts.map +1 -0
- package/dist/host/orchestrator/projectManager.js +371 -0
- package/dist/host/orchestrator/projectManager.js.map +1 -0
- package/dist/host/orchestrator/projectPaths.d.ts +4 -0
- package/dist/host/orchestrator/projectPaths.d.ts.map +1 -0
- package/dist/host/orchestrator/projectPaths.js +25 -0
- package/dist/host/orchestrator/projectPaths.js.map +1 -0
- package/dist/host/orchestrator/projectStore.d.ts +24 -0
- package/dist/host/orchestrator/projectStore.d.ts.map +1 -0
- package/dist/host/orchestrator/projectStore.js +155 -0
- package/dist/host/orchestrator/projectStore.js.map +1 -0
- package/dist/host/orchestrator/resolveMutations.d.ts +3 -0
- package/dist/host/orchestrator/resolveMutations.d.ts.map +1 -0
- package/dist/host/orchestrator/resolveMutations.js +12 -0
- package/dist/host/orchestrator/resolveMutations.js.map +1 -0
- package/dist/host/orchestrator/scaffolder.d.ts +33 -0
- package/dist/host/orchestrator/scaffolder.d.ts.map +1 -0
- package/dist/host/orchestrator/scaffolder.js +246 -0
- package/dist/host/orchestrator/scaffolder.js.map +1 -0
- package/dist/host/orchestrator/templates.d.ts +83 -0
- package/dist/host/orchestrator/templates.d.ts.map +1 -0
- package/dist/host/orchestrator/templates.js +355 -0
- package/dist/host/orchestrator/templates.js.map +1 -0
- package/dist/host/orchestrator/workspaceRuntime.d.ts +2 -0
- package/dist/host/orchestrator/workspaceRuntime.d.ts.map +1 -0
- package/dist/host/orchestrator/workspaceRuntime.js +82 -0
- package/dist/host/orchestrator/workspaceRuntime.js.map +1 -0
- package/dist/host/templateRegistry/index.d.ts +16 -0
- package/dist/host/templateRegistry/index.d.ts.map +1 -0
- package/dist/host/templateRegistry/index.js +74 -0
- package/dist/host/templateRegistry/index.js.map +1 -0
- package/dist/host/utils/requirementsInference.d.ts +4 -0
- package/dist/host/utils/requirementsInference.d.ts.map +1 -0
- package/dist/host/utils/requirementsInference.js +49 -0
- package/dist/host/utils/requirementsInference.js.map +1 -0
- package/dist/host/utils/trimOutput.d.ts +7 -0
- package/dist/host/utils/trimOutput.d.ts.map +1 -0
- package/dist/host/utils/trimOutput.js +32 -0
- package/dist/host/utils/trimOutput.js.map +1 -0
- package/dist/host/utils/workspaceRoot.d.ts +2 -0
- package/dist/host/utils/workspaceRoot.d.ts.map +1 -0
- package/dist/host/utils/workspaceRoot.js +33 -0
- package/dist/host/utils/workspaceRoot.js.map +1 -0
- package/dist/host/zoraExtensions/index.d.ts +11 -0
- package/dist/host/zoraExtensions/index.d.ts.map +1 -0
- package/dist/host/zoraExtensions/index.js +54 -0
- package/dist/host/zoraExtensions/index.js.map +1 -0
- package/dist/runtime/appExtensionRegistry.d.ts +3 -0
- package/dist/runtime/appExtensionRegistry.d.ts.map +1 -0
- package/dist/runtime/appExtensionRegistry.js +8 -0
- package/dist/runtime/appExtensionRegistry.js.map +1 -0
- package/dist/runtime/index.d.ts +8 -4
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +8 -4
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/registry.d.ts +7 -0
- package/dist/runtime/registry.d.ts.map +1 -0
- package/dist/runtime/registry.js +7 -0
- package/dist/runtime/registry.js.map +1 -0
- package/dist/runtime/runtimeActions.d.ts +19 -0
- package/dist/runtime/runtimeActions.d.ts.map +1 -0
- package/dist/runtime/runtimeActions.js +5 -0
- package/dist/runtime/runtimeActions.js.map +1 -0
- package/dist/runtime/useRuntimeAction.d.ts +10 -0
- package/dist/runtime/useRuntimeAction.d.ts.map +1 -0
- package/dist/runtime/useRuntimeAction.js +30 -0
- package/dist/runtime/useRuntimeAction.js.map +1 -0
- package/package.json +35 -3
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
# @ankhorage/studio
|
|
5
5
|
|
|
6
|
-
         
|
|
7
7
|
|
|
8
8
|
Standalone Studio authoring package for Ankhorage apps.
|
|
9
9
|
|
|
@@ -20,7 +20,6 @@ Standalone Studio authoring package for Ankhorage apps.
|
|
|
20
20
|
- [cloneWithNewIds sequence](././paradox/diagrams/sequences/clone-with-new-ids.mmd)
|
|
21
21
|
- [createNodeFromCatalogEntry sequence](././paradox/diagrams/sequences/create-node-from-catalog-entry.mmd)
|
|
22
22
|
- [findNodeById sequence](././paradox/diagrams/sequences/find-node-by-id.mmd)
|
|
23
|
-
- [resolveDefaultInsertPlacement sequence](././paradox/diagrams/sequences/resolve-default-insert-placement.mmd)
|
|
24
23
|
- [resolveInsertPlacement sequence](././paradox/diagrams/sequences/resolve-insert-placement.mmd)
|
|
25
24
|
- [updateNodeInTree sequence](././paradox/diagrams/sequences/update-node-in-tree.mmd)
|
|
26
25
|
- [validateInsertRecipe sequence](././paradox/diagrams/sequences/validate-insert-recipe.mmd)
|
package/dist/cli/index.d.ts
CHANGED
|
@@ -7,12 +7,12 @@ declare const provider: {
|
|
|
7
7
|
commands: readonly [{
|
|
8
8
|
readonly path: readonly ["dev"];
|
|
9
9
|
readonly capability: "studio.dev";
|
|
10
|
-
readonly summary: "Start the first-party Studio app
|
|
10
|
+
readonly summary: "Start the local Studio host and first-party Studio app.";
|
|
11
11
|
readonly examples: readonly ["ankh studio dev"];
|
|
12
12
|
}, {
|
|
13
13
|
readonly path: readonly ["projects", "list"];
|
|
14
14
|
readonly capability: "studio.projects.list";
|
|
15
|
-
readonly summary: "List
|
|
15
|
+
readonly summary: "List projects in the Studio workspace.";
|
|
16
16
|
readonly examples: readonly ["ankh studio projects list"];
|
|
17
17
|
}, {
|
|
18
18
|
readonly path: readonly ["projects", "create"];
|
|
@@ -27,12 +27,12 @@ declare const provider: {
|
|
|
27
27
|
}, {
|
|
28
28
|
readonly path: readonly ["projects", "sync"];
|
|
29
29
|
readonly capability: "studio.projects.sync";
|
|
30
|
-
readonly summary: "Synchronize generated app host files
|
|
30
|
+
readonly summary: "Synchronize generated app host files.";
|
|
31
31
|
readonly examples: readonly ["ankh studio projects sync shop"];
|
|
32
32
|
}, {
|
|
33
33
|
readonly path: readonly ["workspace", "install"];
|
|
34
34
|
readonly capability: "studio.workspace.install";
|
|
35
|
-
readonly summary: "Install packages required by the
|
|
35
|
+
readonly summary: "Install packages required by the Studio workspace.";
|
|
36
36
|
readonly examples: readonly ["ankh studio workspace install"];
|
|
37
37
|
}];
|
|
38
38
|
handlers: readonly [{
|
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAA8B,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAA8B,MAAM,iBAAiB,CAAC;AA0EtF,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOwB,CAAC;AAEvC,eAAe,QAAQ,CAAC"}
|
package/dist/cli/index.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { dirname, resolve } from 'node:path';
|
|
2
2
|
import { fileURLToPath } from 'node:url';
|
|
3
|
+
import { createStudioHost } from '../host/createStudioHost';
|
|
4
|
+
import { startStudioHostServer } from '../host/http/server';
|
|
5
|
+
import { resolveWorkspaceRoot } from '../host/utils/workspaceRoot';
|
|
3
6
|
const STUDIO_PACKAGE_NAME = '@ankhorage/studio';
|
|
4
7
|
const STUDIO_COMMAND_CATEGORY = 'studio';
|
|
5
|
-
const STUDIO_PACKAGE_VERSION = '0.0.
|
|
6
|
-
const DEFAULT_STUDIO_API_BASE = 'http://localhost:3000/api';
|
|
8
|
+
const STUDIO_PACKAGE_VERSION = '0.0.21';
|
|
7
9
|
const STUDIO_CAPABILITIES = [
|
|
8
10
|
'studio.dev',
|
|
9
11
|
'studio.projects.list',
|
|
@@ -16,13 +18,13 @@ const COMMANDS = [
|
|
|
16
18
|
{
|
|
17
19
|
path: ['dev'],
|
|
18
20
|
capability: 'studio.dev',
|
|
19
|
-
summary: 'Start the first-party Studio app
|
|
21
|
+
summary: 'Start the local Studio host and first-party Studio app.',
|
|
20
22
|
examples: ['ankh studio dev'],
|
|
21
23
|
},
|
|
22
24
|
{
|
|
23
25
|
path: ['projects', 'list'],
|
|
24
26
|
capability: 'studio.projects.list',
|
|
25
|
-
summary: 'List
|
|
27
|
+
summary: 'List projects in the Studio workspace.',
|
|
26
28
|
examples: ['ankh studio projects list'],
|
|
27
29
|
},
|
|
28
30
|
{
|
|
@@ -40,13 +42,13 @@ const COMMANDS = [
|
|
|
40
42
|
{
|
|
41
43
|
path: ['projects', 'sync'],
|
|
42
44
|
capability: 'studio.projects.sync',
|
|
43
|
-
summary: 'Synchronize generated app host files
|
|
45
|
+
summary: 'Synchronize generated app host files.',
|
|
44
46
|
examples: ['ankh studio projects sync shop'],
|
|
45
47
|
},
|
|
46
48
|
{
|
|
47
49
|
path: ['workspace', 'install'],
|
|
48
50
|
capability: 'studio.workspace.install',
|
|
49
|
-
summary: 'Install packages required by the
|
|
51
|
+
summary: 'Install packages required by the Studio workspace.',
|
|
50
52
|
examples: ['ankh studio workspace install'],
|
|
51
53
|
},
|
|
52
54
|
];
|
|
@@ -70,74 +72,100 @@ const provider = {
|
|
|
70
72
|
handlers,
|
|
71
73
|
};
|
|
72
74
|
export default provider;
|
|
75
|
+
function resolvePackageRoot() {
|
|
76
|
+
return resolve(dirname(fileURLToPath(import.meta.url)), '../..');
|
|
77
|
+
}
|
|
78
|
+
function resolveHostWorkspaceRoot() {
|
|
79
|
+
return resolveWorkspaceRoot(resolvePackageRoot());
|
|
80
|
+
}
|
|
73
81
|
async function runStudioDev() {
|
|
74
|
-
const packageRoot =
|
|
82
|
+
const packageRoot = resolvePackageRoot();
|
|
83
|
+
const projectRoot = resolveWorkspaceRoot(packageRoot);
|
|
84
|
+
const host = await startStudioHostServer({ projectRoot, host: '127.0.0.1', port: 3000 });
|
|
75
85
|
const subprocess = Bun.spawn(['bun', 'run', 'dev:studio'], {
|
|
76
86
|
cwd: packageRoot,
|
|
77
87
|
stdin: 'inherit',
|
|
78
88
|
stdout: 'inherit',
|
|
79
89
|
stderr: 'inherit',
|
|
80
90
|
});
|
|
81
|
-
|
|
91
|
+
const shutdown = () => {
|
|
92
|
+
if (!subprocess.killed)
|
|
93
|
+
subprocess.kill('SIGTERM');
|
|
94
|
+
};
|
|
95
|
+
process.once('SIGINT', shutdown);
|
|
96
|
+
process.once('SIGTERM', shutdown);
|
|
97
|
+
try {
|
|
98
|
+
return { exitCode: await subprocess.exited };
|
|
99
|
+
}
|
|
100
|
+
finally {
|
|
101
|
+
process.off('SIGINT', shutdown);
|
|
102
|
+
process.off('SIGTERM', shutdown);
|
|
103
|
+
shutdown();
|
|
104
|
+
await host.close();
|
|
105
|
+
}
|
|
82
106
|
}
|
|
83
107
|
async function listProjects(request) {
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
108
|
+
const studioHost = createStudioHost({ workspaceRoot: resolveHostWorkspaceRoot() });
|
|
109
|
+
try {
|
|
110
|
+
const projects = await studioHost.projectManager.listProjects();
|
|
111
|
+
request.context.writeStdout(`${JSON.stringify(projects, null, 2)}
|
|
112
|
+
`);
|
|
113
|
+
return { exitCode: 0 };
|
|
114
|
+
}
|
|
115
|
+
finally {
|
|
116
|
+
await studioHost.close();
|
|
117
|
+
}
|
|
87
118
|
}
|
|
88
119
|
async function createProject(request) {
|
|
89
120
|
const input = parseCreateProjectArgs(request.argv);
|
|
90
|
-
const
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
121
|
+
const studioHost = createStudioHost({ workspaceRoot: resolveHostWorkspaceRoot() });
|
|
122
|
+
try {
|
|
123
|
+
const project = await studioHost.projectManager.createProject(input.name, { category: input.category, templateId: input.templateId }, (projectId) => studioHost.moduleManager.generateModuleRegistry(projectId));
|
|
124
|
+
request.context.writeStdout(`${JSON.stringify(project, null, 2)}
|
|
125
|
+
`);
|
|
126
|
+
return { exitCode: 0 };
|
|
127
|
+
}
|
|
128
|
+
finally {
|
|
129
|
+
await studioHost.close();
|
|
130
|
+
}
|
|
96
131
|
}
|
|
97
132
|
async function deleteProject(request) {
|
|
98
133
|
const projectId = requireProjectId(request.argv, 'projects delete');
|
|
99
|
-
const
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
134
|
+
const studioHost = createStudioHost({ workspaceRoot: resolveHostWorkspaceRoot() });
|
|
135
|
+
try {
|
|
136
|
+
const result = await studioHost.projectManager.deleteProject(projectId);
|
|
137
|
+
request.context.writeStdout(`${JSON.stringify(result, null, 2)}
|
|
138
|
+
`);
|
|
139
|
+
return { exitCode: 0 };
|
|
140
|
+
}
|
|
141
|
+
finally {
|
|
142
|
+
await studioHost.close();
|
|
143
|
+
}
|
|
104
144
|
}
|
|
105
145
|
async function syncProject(request) {
|
|
106
146
|
const projectId = requireProjectId(request.argv, 'projects sync');
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
147
|
+
const studioHost = createStudioHost({ workspaceRoot: resolveHostWorkspaceRoot() });
|
|
148
|
+
try {
|
|
149
|
+
const result = await studioHost.moduleManager.syncProject({ projectId, includeStudio: true });
|
|
150
|
+
request.context.writeStdout(`${JSON.stringify(result, null, 2)}
|
|
151
|
+
`);
|
|
152
|
+
return { exitCode: 0 };
|
|
153
|
+
}
|
|
154
|
+
finally {
|
|
155
|
+
await studioHost.close();
|
|
156
|
+
}
|
|
112
157
|
}
|
|
113
158
|
async function installWorkspacePackages(request) {
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
method: options.method ?? 'GET',
|
|
121
|
-
headers: options.body === undefined ? undefined : { 'Content-Type': 'application/json' },
|
|
122
|
-
body: options.body === undefined ? undefined : JSON.stringify(options.body),
|
|
123
|
-
});
|
|
124
|
-
const text = await response.text();
|
|
125
|
-
const body = text.length > 0 ? JSON.parse(text) : null;
|
|
126
|
-
if (!response.ok) {
|
|
127
|
-
throw new Error(getStudioApiErrorMessage(body, response.status));
|
|
159
|
+
const studioHost = createStudioHost({ workspaceRoot: resolveHostWorkspaceRoot() });
|
|
160
|
+
try {
|
|
161
|
+
const result = await studioHost.projectManager.installWorkspacePackages();
|
|
162
|
+
request.context.writeStdout(`${JSON.stringify({ ...result, scope: 'workspace' }, null, 2)}
|
|
163
|
+
`);
|
|
164
|
+
return { exitCode: 0 };
|
|
128
165
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
function getStudioApiErrorMessage(body, status) {
|
|
132
|
-
if (isRecord(body) && typeof body.error === 'string') {
|
|
133
|
-
return body.error;
|
|
166
|
+
finally {
|
|
167
|
+
await studioHost.close();
|
|
134
168
|
}
|
|
135
|
-
return `Studio API request failed: ${status}`;
|
|
136
|
-
}
|
|
137
|
-
function resolveStudioApiBase() {
|
|
138
|
-
return (process.env.ANKHORAGE_STUDIO_API_URL ??
|
|
139
|
-
process.env.EXPO_PUBLIC_API_URL ??
|
|
140
|
-
DEFAULT_STUDIO_API_BASE);
|
|
141
169
|
}
|
|
142
170
|
function requireProjectId(argv, command) {
|
|
143
171
|
const [projectId] = argv;
|
|
@@ -153,14 +181,11 @@ function parseCreateProjectArgs(argv) {
|
|
|
153
181
|
if (name === null || category === null || templateId === null) {
|
|
154
182
|
throw new Error('Usage: ankh studio projects create --name <name> --category <category> --template <templateId>');
|
|
155
183
|
}
|
|
156
|
-
return { name, category, templateId };
|
|
184
|
+
return { name, category: category, templateId };
|
|
157
185
|
}
|
|
158
186
|
function readFlag(argv, flag) {
|
|
159
187
|
const index = argv.indexOf(flag);
|
|
160
188
|
const value = index === -1 ? undefined : argv[index + 1];
|
|
161
189
|
return value === undefined || value.trim() === '' ? null : value;
|
|
162
190
|
}
|
|
163
|
-
function isRecord(value) {
|
|
164
|
-
return typeof value === 'object' && value !== null;
|
|
165
|
-
}
|
|
166
191
|
//# sourceMappingURL=index.js.map
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AA8BA,eAAO,MAAM,QAAQ,QAAe,CAAC"}
|
package/dist/core/constants.js
CHANGED
|
@@ -1,14 +1,25 @@
|
|
|
1
1
|
import Constants from 'expo-constants';
|
|
2
|
+
const DEFAULT_API_BASE = 'http://localhost:3000/api';
|
|
2
3
|
const getApiBase = () => {
|
|
3
|
-
|
|
4
|
-
|
|
4
|
+
const envApiBase = readEnvString('EXPO_PUBLIC_API_URL');
|
|
5
|
+
if (envApiBase !== undefined) {
|
|
6
|
+
return envApiBase;
|
|
5
7
|
}
|
|
6
|
-
const
|
|
7
|
-
if (
|
|
8
|
-
const [ip] =
|
|
8
|
+
const hostUri = readExpoHostUri();
|
|
9
|
+
if (hostUri !== null) {
|
|
10
|
+
const [ip] = hostUri.split(':');
|
|
9
11
|
return `http://${ip}:3000/api`;
|
|
10
12
|
}
|
|
11
|
-
return
|
|
13
|
+
return DEFAULT_API_BASE;
|
|
12
14
|
};
|
|
15
|
+
function readEnvString(name) {
|
|
16
|
+
const value = process.env[name];
|
|
17
|
+
return typeof value === 'string' && value.length > 0 ? value : undefined;
|
|
18
|
+
}
|
|
19
|
+
function readExpoHostUri() {
|
|
20
|
+
const expoConfig = Constants.expoConfig;
|
|
21
|
+
const hostUri = expoConfig?.hostUri;
|
|
22
|
+
return typeof hostUri === 'string' && hostUri.length > 0 ? hostUri : null;
|
|
23
|
+
}
|
|
13
24
|
export const API_BASE = getApiBase();
|
|
14
25
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAEvC,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAEvC,MAAM,gBAAgB,GAAG,2BAA2B,CAAC;AAErD,MAAM,UAAU,GAAG,GAAW,EAAE;IAC9B,MAAM,UAAU,GAAG,aAAa,CAAC,qBAAqB,CAAC,CAAC;IACxD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO,UAAU,EAAE,WAAW,CAAC;IACjC,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AAEF,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,KAAK,GAAY,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC;AAED,SAAS,eAAe;IACtB,MAAM,UAAU,GAAG,SAAS,CAAC,UAAsD,CAAC;IACpF,MAAM,OAAO,GAAG,UAAU,EAAE,OAAO,CAAC;IACpC,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC"}
|
|
@@ -89,7 +89,7 @@ export const useProjects = () => {
|
|
|
89
89
|
}
|
|
90
90
|
catch (err) {
|
|
91
91
|
console.error(err);
|
|
92
|
-
setError('Could not connect to
|
|
92
|
+
setError('Could not connect to the local Studio host. Run `ankh studio dev`.');
|
|
93
93
|
}
|
|
94
94
|
finally {
|
|
95
95
|
setIsLoading(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProjects.js","sourceRoot":"","sources":["../../src/hooks/useProjects.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"useProjects.js","sourceRoot":"","sources":["../../src/hooks/useProjects.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ModuleManager } from './orchestrator/moduleManager';
|
|
2
|
+
import { ProjectManager } from './orchestrator/projectManager';
|
|
3
|
+
export interface CreateStudioHostOptions {
|
|
4
|
+
readonly workspaceRoot: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function createStudioHost(options: CreateStudioHostOptions): {
|
|
7
|
+
workspaceRoot: string;
|
|
8
|
+
projectManager: ProjectManager;
|
|
9
|
+
moduleManager: ModuleManager;
|
|
10
|
+
close(): Promise<void>;
|
|
11
|
+
};
|
|
12
|
+
export type StudioHost = ReturnType<typeof createStudioHost>;
|
|
13
|
+
//# sourceMappingURL=createStudioHost.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createStudioHost.d.ts","sourceRoot":"","sources":["../../src/host/createStudioHost.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB;;;;;EAWhE;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { stopAllProjectInfraPortForwards } from './orchestrator/infraRuntime';
|
|
2
|
+
import { ModuleManager } from './orchestrator/moduleManager';
|
|
3
|
+
import { ProjectManager } from './orchestrator/projectManager';
|
|
4
|
+
export function createStudioHost(options) {
|
|
5
|
+
const projectManager = new ProjectManager(options.workspaceRoot);
|
|
6
|
+
const moduleManager = new ModuleManager(options.workspaceRoot);
|
|
7
|
+
return {
|
|
8
|
+
workspaceRoot: options.workspaceRoot,
|
|
9
|
+
projectManager,
|
|
10
|
+
moduleManager,
|
|
11
|
+
async close() {
|
|
12
|
+
await stopAllProjectInfraPortForwards();
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=createStudioHost.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createStudioHost.js","sourceRoot":"","sources":["../../src/host/createStudioHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAM/D,MAAM,UAAU,gBAAgB,CAAC,OAAgC;IAC/D,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/D,OAAO;QACL,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,cAAc;QACd,aAAa;QACb,KAAK,CAAC,KAAK;YACT,MAAM,+BAA+B,EAAE,CAAC;QAC1C,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../../src/host/http/security.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CA8DnE"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export function isOriginAllowed(origin) {
|
|
2
|
+
// Allow non-browser requests (no origin header)
|
|
3
|
+
if (origin === undefined)
|
|
4
|
+
return true;
|
|
5
|
+
try {
|
|
6
|
+
const url = new URL(origin);
|
|
7
|
+
// Only allow HTTP and HTTPS origins
|
|
8
|
+
if (url.protocol !== 'http:' && url.protocol !== 'https:') {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
const hostname = url.hostname.toLowerCase();
|
|
12
|
+
// Allow localhost and default IPv4/IPv6 loopback hostnames
|
|
13
|
+
if (hostname === 'localhost' || hostname === '127.0.0.1' || hostname === '[::1]') {
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
// Check IPv6 addresses: url.hostname includes brackets, e.g. "[fd00::1]"
|
|
17
|
+
if (hostname.startsWith('[') && hostname.endsWith(']')) {
|
|
18
|
+
const addr = hostname.slice(1, -1);
|
|
19
|
+
// Allow IPv6 Unique Local Addresses (ULA): fd00::/8
|
|
20
|
+
if (addr.startsWith('fd'))
|
|
21
|
+
return true;
|
|
22
|
+
// Allow IPv6 link-local addresses: fe80::/10 (covers fe8x, fe9x, feax, febx)
|
|
23
|
+
if (addr.startsWith('fe8') ||
|
|
24
|
+
addr.startsWith('fe9') ||
|
|
25
|
+
addr.startsWith('fea') ||
|
|
26
|
+
addr.startsWith('feb')) {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
// Validate IPv4: must be exactly 4 numeric parts, each in 0-255
|
|
32
|
+
const parts = hostname.split('.');
|
|
33
|
+
if (parts.length === 4 && parts.every((p) => /^\d+$/.test(p))) {
|
|
34
|
+
const octets = parts.map((p) => parseInt(p, 10));
|
|
35
|
+
if (octets.every((o) => o >= 0 && o <= 255)) {
|
|
36
|
+
const [o1 = -1, o2 = -1] = octets;
|
|
37
|
+
// 10.0.0.0/8
|
|
38
|
+
if (o1 === 10)
|
|
39
|
+
return true;
|
|
40
|
+
// 192.168.0.0/16
|
|
41
|
+
if (o1 === 192 && o2 === 168)
|
|
42
|
+
return true;
|
|
43
|
+
// 172.16.0.0/12 -> 172.16.x.x - 172.31.x.x
|
|
44
|
+
if (o1 === 172 && o2 >= 16 && o2 <= 31)
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
// If origin is not a valid URL, block it for safety
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=security.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security.js","sourceRoot":"","sources":["../../../src/host/http/security.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,MAA0B;IACxD,gDAAgD;IAChD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAEtC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAE5B,oCAAoC;QACpC,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAE5C,2DAA2D;QAC3D,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,yEAAyE;QACzE,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAEnC,oDAAoD;YACpD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEvC,6EAA6E;YAC7E,IACE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBACtB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBACtB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBACtB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EACtB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAED,gEAAgE;QAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACjD,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC5C,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;gBAElC,aAAa;gBACb,IAAI,EAAE,KAAK,EAAE;oBAAE,OAAO,IAAI,CAAC;gBAE3B,iBAAiB;gBACjB,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;oBAAE,OAAO,IAAI,CAAC;gBAE1C,2CAA2C;gBAC3C,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oBAAE,OAAO,IAAI,CAAC;YACtD,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,oDAAoD;QACpD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { FastifyInstance } from 'fastify';
|
|
2
|
+
import { ModuleManager } from '../orchestrator/moduleManager';
|
|
3
|
+
import { ProjectManager } from '../orchestrator/projectManager';
|
|
4
|
+
export declare function createStudioHostServer(args: {
|
|
5
|
+
projectManager: ProjectManager;
|
|
6
|
+
orchestrator: ModuleManager;
|
|
7
|
+
projectRoot: string;
|
|
8
|
+
fastifyInstance?: FastifyInstance;
|
|
9
|
+
}): Promise<FastifyInstance<import("fastify").RawServerDefault, import("node:http").IncomingMessage, import("node:http").ServerResponse<import("node:http").IncomingMessage>, import("fastify").FastifyBaseLogger, import("fastify").FastifyTypeProviderDefault>>;
|
|
10
|
+
export interface StartStudioHostServerOptions {
|
|
11
|
+
readonly host?: string;
|
|
12
|
+
readonly port?: number;
|
|
13
|
+
readonly projectRoot?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function startStudioHostServer(options?: number | StartStudioHostServerOptions): Promise<FastifyInstance<import("fastify").RawServerDefault, import("node:http").IncomingMessage, import("node:http").ServerResponse<import("node:http").IncomingMessage>, import("fastify").FastifyBaseLogger, import("fastify").FastifyTypeProviderDefault>>;
|
|
16
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/host/http/server.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAC;AAY7E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAgEhE,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,aAAa,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,iQA2jBA;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAsB,qBAAqB,CAAC,OAAO,GAAE,MAAM,GAAG,4BAAiC,iQAY9F"}
|