@octonodes/cli 0.2.38 → 0.2.41

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 (85) hide show
  1. package/README.md +32 -2
  2. package/dist/apps/build.d.ts +31 -31
  3. package/dist/apps/build.d.ts.map +1 -1
  4. package/dist/apps/build.js +3 -3
  5. package/dist/apps/build.js.map +1 -1
  6. package/dist/apps/cloudflared.js +1 -1
  7. package/dist/apps/cloudflared.js.map +1 -1
  8. package/dist/apps/constants.d.ts +6 -2
  9. package/dist/apps/constants.d.ts.map +1 -1
  10. package/dist/apps/constants.js +7 -2
  11. package/dist/apps/constants.js.map +1 -1
  12. package/dist/apps/create.d.ts +1 -1
  13. package/dist/apps/create.d.ts.map +1 -1
  14. package/dist/apps/create.js +18 -30
  15. package/dist/apps/create.js.map +1 -1
  16. package/dist/apps/dev.d.ts +9 -9
  17. package/dist/apps/dev.d.ts.map +1 -1
  18. package/dist/apps/dev.js +9 -9
  19. package/dist/apps/dev.js.map +1 -1
  20. package/dist/apps/development.d.ts +2 -2
  21. package/dist/apps/development.d.ts.map +1 -1
  22. package/dist/apps/development.js +2 -2
  23. package/dist/apps/development.js.map +1 -1
  24. package/dist/apps/index.d.ts.map +1 -1
  25. package/dist/apps/index.js +9 -8
  26. package/dist/apps/index.js.map +1 -1
  27. package/dist/apps/publish.js +3 -3
  28. package/dist/apps/publish.js.map +1 -1
  29. package/dist/apps/server.d.ts +1 -1
  30. package/dist/apps/server.d.ts.map +1 -1
  31. package/dist/apps/server.js +1 -1
  32. package/dist/apps/server.js.map +1 -1
  33. package/dist/apps/source.d.ts +178 -113
  34. package/dist/apps/source.d.ts.map +1 -1
  35. package/dist/apps/source.js +3 -3
  36. package/dist/apps/source.js.map +1 -1
  37. package/dist/apps/tunnel-lease.js +2 -2
  38. package/dist/apps/tunnel-lease.js.map +1 -1
  39. package/dist/apps/tunnel.js.map +1 -1
  40. package/dist/apps/welcome.d.ts +2 -2
  41. package/dist/apps/welcome.d.ts.map +1 -1
  42. package/dist/apps/welcome.js +529 -13
  43. package/dist/apps/welcome.js.map +1 -1
  44. package/dist/auth.d.ts +6 -0
  45. package/dist/auth.d.ts.map +1 -1
  46. package/dist/auth.js +21 -3
  47. package/dist/auth.js.map +1 -1
  48. package/dist/connect.js.map +1 -1
  49. package/dist/index.js +14 -6
  50. package/dist/index.js.map +1 -1
  51. package/dist/plugins/app.d.ts +1 -1
  52. package/dist/plugins/app.d.ts.map +1 -1
  53. package/dist/plugins/app.js +2 -2
  54. package/dist/plugins/app.js.map +1 -1
  55. package/dist/plugins/artifact.d.ts +2 -4
  56. package/dist/plugins/artifact.d.ts.map +1 -1
  57. package/dist/plugins/artifact.js +13 -3
  58. package/dist/plugins/artifact.js.map +1 -1
  59. package/dist/plugins/build.d.ts +1 -1
  60. package/dist/plugins/build.d.ts.map +1 -1
  61. package/dist/plugins/build.js +11 -9
  62. package/dist/plugins/build.js.map +1 -1
  63. package/dist/plugins/constants.js.map +1 -1
  64. package/dist/plugins/create.js.map +1 -1
  65. package/dist/plugins/deploy.js +3 -3
  66. package/dist/plugins/deploy.js.map +1 -1
  67. package/dist/plugins/index.d.ts +1 -1
  68. package/dist/plugins/index.d.ts.map +1 -1
  69. package/dist/plugins/index.js +8 -8
  70. package/dist/plugins/index.js.map +1 -1
  71. package/dist/plugins/library.js +1 -1
  72. package/dist/plugins/library.js.map +1 -1
  73. package/dist/plugins/publish.d.ts +177 -112
  74. package/dist/plugins/publish.d.ts.map +1 -1
  75. package/dist/plugins/publish.js +1 -1
  76. package/dist/plugins/publish.js.map +1 -1
  77. package/dist/plugins/release.d.ts +12 -12
  78. package/dist/plugins/release.d.ts.map +1 -1
  79. package/dist/plugins/release.js.map +1 -1
  80. package/dist/plugins/types.d.ts +7 -0
  81. package/dist/plugins/types.d.ts.map +1 -1
  82. package/dist/terminal.d.ts.map +1 -1
  83. package/dist/terminal.js.map +1 -1
  84. package/package.json +7 -5
  85. package/runtime/plugin-lifecycle.cjs +24724 -16933
@@ -1,209 +1,274 @@
1
- import type { AppSource } from "./types";
1
+ import type { AppSource } from "./types.js";
2
2
  export declare function sourceFile(root: string, path: string): string;
3
3
  export declare function appManifest(source: AppSource, hashes?: string[]): {
4
- schemaVersion: string;
5
- id: string;
6
4
  name: string;
5
+ nodes: {
6
+ id: string;
7
+ command: string;
8
+ symbol?: string | undefined;
9
+ label?: string | undefined;
10
+ source?: {
11
+ kind: "plugin";
12
+ } | {
13
+ package: string;
14
+ kind: "pypi";
15
+ version: string;
16
+ } | {
17
+ package: string;
18
+ kind: "npm";
19
+ version: string;
20
+ } | undefined;
21
+ trigger?: boolean | undefined;
22
+ client?: string | undefined;
23
+ env?: string[] | undefined;
24
+ icon?: string | undefined;
25
+ language?: string | undefined;
26
+ inputs?: Record<string, unknown> | undefined;
27
+ outputs?: Record<string, unknown> | undefined;
28
+ description?: string | undefined;
29
+ defaults?: Record<string, unknown> | undefined;
30
+ inheritPluginIcon?: boolean | undefined;
31
+ connections?: string[] | undefined;
32
+ sourceLanguage?: string | undefined;
33
+ execution?: {
34
+ args: string[];
35
+ runtimeRef: string;
36
+ entrypoint: {
37
+ path: string;
38
+ kind: "file";
39
+ };
40
+ invokeAs?: string | undefined;
41
+ } | undefined;
42
+ bindings?: Record<string, {
43
+ module: string;
44
+ export: string;
45
+ options?: Record<string, unknown> | undefined;
46
+ env?: Record<string, string> | undefined;
47
+ }> | undefined;
48
+ ui?: {
49
+ apiVersion: "1";
50
+ renderers: Record<string, {
51
+ label: string;
52
+ targets: Partial<Record<"node.inspector.inputs", string>>;
53
+ }>;
54
+ } | undefined;
55
+ libraryExport?: string | undefined;
56
+ implementation?: {
57
+ module: string;
58
+ parameters: string[];
59
+ export: string;
60
+ rest?: string | undefined;
61
+ methodPath?: string[] | undefined;
62
+ outputStreams?: string[][] | undefined;
63
+ } | undefined;
64
+ }[];
65
+ id: string;
66
+ scope: ("user" | "org" | "public" | "group")[];
7
67
  version: string;
8
- description?: string | undefined;
68
+ schemaVersion: "1" | "2";
69
+ permissions: {
70
+ resource: "network" | "project_data" | "secrets";
71
+ access: "read" | "write" | "outbound";
72
+ }[];
73
+ repository?: string | undefined;
9
74
  source?: {
10
75
  kind: "plugin";
11
76
  } | {
12
- kind: "npm";
13
77
  package: string;
78
+ kind: "pypi";
79
+ version: string;
80
+ } | {
81
+ package: string;
82
+ kind: "npm";
14
83
  version: string;
15
84
  } | undefined;
16
- library?: {
17
- format: 1;
18
- entry: "library/index.js";
19
- types: "library/index.d.ts";
20
- exports: string[];
21
- } | undefined;
22
- contents?: {
23
- types: string[];
24
- services: string[];
25
- constants: string[];
26
- classes: string[];
27
- } | undefined;
28
- icon?: string | undefined;
29
- author?: string | undefined;
30
- contributors?: string[] | undefined;
31
- repository?: string | undefined;
32
- homepage?: string | undefined;
33
- license?: string | undefined;
34
- scope: ("group" | "org" | "public" | "user")[];
35
- permissions: {
36
- resource: "network" | "project_data" | "secrets";
37
- access: "outbound" | "read" | "write";
38
- }[];
39
85
  app?: {
40
86
  apiVersion: "1";
41
87
  hosting: "self-hosted";
42
88
  applicationUrl: string;
43
- icon?: "arrow-up-down" | "binary" | "bomb" | "boxes" | "braces" | "calculator" | "calendar" | "camera" | "clock" | "code" | "copy-x" | "database" | "dices" | "filter" | "flag" | "flask" | "function" | "git-branch" | "git-merge" | "group" | "hook" | "list-filter" | "merge" | "octagon-x" | "package" | "package-x" | "pencil" | "play" | "regex" | "repeat" | "replace" | "ruler" | "scan-eye" | "scissors" | "search" | "server-cog" | "settings" | "sigma" | "split" | "terminal" | "test-tube" | "text-cursor-input" | "ticket" | "truck" | "type" | "typescript" | "ungroup" | "variable" | "wand" | "wave" | "webhook" | "workflow" | "x" | undefined;
44
- iconUrl?: string | undefined;
45
- privacyUrl?: string | undefined;
46
- supportUrl?: string | undefined;
47
89
  redirectUrls: string[];
48
- webhookUrl?: string | undefined;
49
- requestedActions: ("data:read" | "data:write" | "projects:read" | "workflows:run")[];
90
+ requestedActions: ("projects:read" | "data:read" | "data:write" | "workflows:run" | "read:project" | "write:project")[];
50
91
  extensions: {
51
92
  id: string;
52
- target: "app.page" | "workspace.block";
53
93
  url: string;
94
+ target: "app.page" | "workspace.block";
54
95
  sha256: string;
55
96
  }[];
56
- } | {
57
- apiVersion: "2";
58
- hosting: "extension-only";
59
- icon?: "arrow-up-down" | "binary" | "bomb" | "boxes" | "braces" | "calculator" | "calendar" | "camera" | "clock" | "code" | "copy-x" | "database" | "dices" | "filter" | "flag" | "flask" | "function" | "git-branch" | "git-merge" | "group" | "hook" | "list-filter" | "merge" | "octagon-x" | "package" | "package-x" | "pencil" | "play" | "regex" | "repeat" | "replace" | "ruler" | "scan-eye" | "scissors" | "search" | "server-cog" | "settings" | "sigma" | "split" | "terminal" | "test-tube" | "text-cursor-input" | "ticket" | "truck" | "type" | "typescript" | "ungroup" | "variable" | "wand" | "wave" | "webhook" | "workflow" | "x" | undefined;
97
+ icon?: "function" | "info" | "arrow-up-down" | "asterisk" | "binary" | "bomb" | "box" | "boxes" | "braces" | "calculator" | "calendar" | "calendar-clock" | "calendar-minus" | "calendar-plus" | "calendar-search" | "camera" | "case-lower" | "case-upper" | "chart-no-axes-column" | "chart-no-axes-combined" | "check-check" | "chevron-left" | "chevron-right" | "chevrons-left" | "chevrons-right" | "circle-check" | "circle-dashed" | "circle-slash" | "circle-x" | "clock" | "code" | "copy-x" | "corner-down-left" | "database" | "dices" | "equal" | "equal-not" | "file-input" | "file-output" | "file-terminal" | "file-text" | "filter" | "fingerprint" | "flag" | "flask" | "folder-plus" | "folder-search" | "git-branch" | "git-merge" | "group" | "hash" | "hook" | "house" | "key-round" | "list" | "list-check" | "list-checks" | "list-end" | "list-filter" | "list-ordered" | "list-restart" | "list-start" | "list-tree" | "merge" | "monitor" | "octagon-x" | "package" | "package-x" | "pencil" | "play" | "regex" | "remove-formatting" | "repeat" | "repeat-2" | "replace" | "ruler" | "scan-eye" | "scissors" | "search" | "search-check" | "server-cog" | "settings" | "shapes" | "shield-alert" | "shield-check" | "shuffle" | "sigma" | "space" | "split" | "terminal" | "test-tube" | "text-cursor" | "text-cursor-input" | "ticket" | "truck" | "type" | "typescript" | "ungroup" | "variable" | "wand" | "wave" | "webhook" | "workflow" | "x" | undefined;
60
98
  iconUrl?: string | undefined;
99
+ privacyUrl?: string | undefined;
100
+ supportUrl?: string | undefined;
101
+ webhookUrl?: string | undefined;
102
+ } | {
61
103
  settings: {
62
- id: string;
63
104
  label: string;
105
+ id: string;
64
106
  defaultValue: string;
65
107
  }[];
66
- privacyUrl?: string | undefined;
67
- supportUrl?: string | undefined;
68
- requestedActions: ("data:read" | "data:write" | "projects:read" | "workflows:run")[];
108
+ apiVersion: "2";
109
+ hosting: "extension-only";
110
+ requestedActions: ("projects:read" | "data:read" | "data:write" | "workflows:run" | "read:project" | "write:project")[];
69
111
  extensions: {
70
112
  id: string;
71
- target: "app.page" | "workspace.block";
72
113
  path: string;
114
+ target: "app.page" | "workspace.block";
73
115
  sha256: string;
74
116
  }[];
75
- } | {
76
- hosting: "extension-only";
77
- icon?: "arrow-up-down" | "binary" | "bomb" | "boxes" | "braces" | "calculator" | "calendar" | "camera" | "clock" | "code" | "copy-x" | "database" | "dices" | "filter" | "flag" | "flask" | "function" | "git-branch" | "git-merge" | "group" | "hook" | "list-filter" | "merge" | "octagon-x" | "package" | "package-x" | "pencil" | "play" | "regex" | "repeat" | "replace" | "ruler" | "scan-eye" | "scissors" | "search" | "server-cog" | "settings" | "sigma" | "split" | "terminal" | "test-tube" | "text-cursor-input" | "ticket" | "truck" | "type" | "typescript" | "ungroup" | "variable" | "wand" | "wave" | "webhook" | "workflow" | "x" | undefined;
117
+ icon?: "function" | "info" | "arrow-up-down" | "asterisk" | "binary" | "bomb" | "box" | "boxes" | "braces" | "calculator" | "calendar" | "calendar-clock" | "calendar-minus" | "calendar-plus" | "calendar-search" | "camera" | "case-lower" | "case-upper" | "chart-no-axes-column" | "chart-no-axes-combined" | "check-check" | "chevron-left" | "chevron-right" | "chevrons-left" | "chevrons-right" | "circle-check" | "circle-dashed" | "circle-slash" | "circle-x" | "clock" | "code" | "copy-x" | "corner-down-left" | "database" | "dices" | "equal" | "equal-not" | "file-input" | "file-output" | "file-terminal" | "file-text" | "filter" | "fingerprint" | "flag" | "flask" | "folder-plus" | "folder-search" | "git-branch" | "git-merge" | "group" | "hash" | "hook" | "house" | "key-round" | "list" | "list-check" | "list-checks" | "list-end" | "list-filter" | "list-ordered" | "list-restart" | "list-start" | "list-tree" | "merge" | "monitor" | "octagon-x" | "package" | "package-x" | "pencil" | "play" | "regex" | "remove-formatting" | "repeat" | "repeat-2" | "replace" | "ruler" | "scan-eye" | "scissors" | "search" | "search-check" | "server-cog" | "settings" | "shapes" | "shield-alert" | "shield-check" | "shuffle" | "sigma" | "space" | "split" | "terminal" | "test-tube" | "text-cursor" | "text-cursor-input" | "ticket" | "truck" | "type" | "typescript" | "ungroup" | "variable" | "wand" | "wave" | "webhook" | "workflow" | "x" | undefined;
78
118
  iconUrl?: string | undefined;
119
+ privacyUrl?: string | undefined;
120
+ supportUrl?: string | undefined;
121
+ } | {
79
122
  settings: {
80
- id: string;
81
123
  label: string;
124
+ id: string;
82
125
  defaultValue: string;
83
126
  }[];
84
- privacyUrl?: string | undefined;
85
- supportUrl?: string | undefined;
86
127
  apiVersion: "3";
87
- requestedActions: ("data:read" | "data:write" | "projects:read" | "workflows:run")[];
128
+ hosting: "extension-only";
129
+ requestedActions: ("projects:read" | "data:read" | "data:write" | "workflows:run" | "read:project" | "write:project")[];
88
130
  extensions: {
89
131
  id: string;
90
- target: "app.page" | "app.settings.section" | "document.action" | "document.block.action" | "document.panel" | "document.review.action" | "document.selection-action" | "document.slash-command" | "document.tab" | "editor.action" | "editor.panel" | "editor.selection-action" | "execution.action" | "execution.details.block" | "file.action" | "git.diff.action" | "git.diff.panel" | "node.action" | "node.inspector.block" | "node.inspector.tab" | "node.view" | "project.action" | "project.overview.block" | "project.settings.section" | "project.tab" | "shell.dock" | "shell.panel" | "table.action" | "table.view" | "task.action" | "task.card.badge" | "task.details.block" | "task.details.tab" | "task.space.action" | "task.space.view" | "workflow.action" | "workflow.canvas.action" | "workflow.edge.action" | "workflow.inspector.block" | "workflow.selection-action" | "workflow.tab" | "workspace.block";
91
- title: string;
92
- icon?: "arrow-up-down" | "binary" | "bomb" | "boxes" | "braces" | "calculator" | "calendar" | "camera" | "clock" | "code" | "copy-x" | "database" | "dices" | "filter" | "flag" | "flask" | "function" | "git-branch" | "git-merge" | "group" | "hook" | "list-filter" | "merge" | "octagon-x" | "package" | "package-x" | "pencil" | "play" | "regex" | "repeat" | "replace" | "ruler" | "scan-eye" | "scissors" | "search" | "server-cog" | "settings" | "sigma" | "split" | "terminal" | "test-tube" | "text-cursor-input" | "ticket" | "truck" | "type" | "typescript" | "ungroup" | "variable" | "wand" | "wave" | "webhook" | "workflow" | "x" | undefined;
93
132
  path: string;
133
+ target: "app.page" | "workspace.block" | "shell.panel" | "shell.dock" | "project.tab" | "project.overview.block" | "workflow.tab" | "workflow.inspector.block" | "node.view" | "node.inspector.tab" | "node.inspector.block" | "task.space.view" | "task.details.tab" | "task.details.block" | "task.card.badge" | "document.tab" | "document.panel" | "editor.panel" | "git.diff.panel" | "table.view" | "execution.details.block" | "app.settings.section" | "project.settings.section" | "project.action" | "file.action" | "editor.action" | "editor.selection-action" | "workflow.action" | "workflow.canvas.action" | "workflow.selection-action" | "workflow.edge.action" | "node.action" | "task.space.action" | "task.action" | "document.action" | "document.selection-action" | "document.block.action" | "document.slash-command" | "document.review.action" | "git.diff.action" | "table.action" | "execution.action";
134
+ title: string;
94
135
  sha256: string;
136
+ icon?: "function" | "info" | "arrow-up-down" | "asterisk" | "binary" | "bomb" | "box" | "boxes" | "braces" | "calculator" | "calendar" | "calendar-clock" | "calendar-minus" | "calendar-plus" | "calendar-search" | "camera" | "case-lower" | "case-upper" | "chart-no-axes-column" | "chart-no-axes-combined" | "check-check" | "chevron-left" | "chevron-right" | "chevrons-left" | "chevrons-right" | "circle-check" | "circle-dashed" | "circle-slash" | "circle-x" | "clock" | "code" | "copy-x" | "corner-down-left" | "database" | "dices" | "equal" | "equal-not" | "file-input" | "file-output" | "file-terminal" | "file-text" | "filter" | "fingerprint" | "flag" | "flask" | "folder-plus" | "folder-search" | "git-branch" | "git-merge" | "group" | "hash" | "hook" | "house" | "key-round" | "list" | "list-check" | "list-checks" | "list-end" | "list-filter" | "list-ordered" | "list-restart" | "list-start" | "list-tree" | "merge" | "monitor" | "octagon-x" | "package" | "package-x" | "pencil" | "play" | "regex" | "remove-formatting" | "repeat" | "repeat-2" | "replace" | "ruler" | "scan-eye" | "scissors" | "search" | "search-check" | "server-cog" | "settings" | "shapes" | "shield-alert" | "shield-check" | "shuffle" | "sigma" | "space" | "split" | "terminal" | "test-tube" | "text-cursor" | "text-cursor-input" | "ticket" | "truck" | "type" | "typescript" | "ungroup" | "variable" | "wand" | "wave" | "webhook" | "workflow" | "x" | undefined;
95
137
  when?: {
96
138
  hasProject?: boolean | undefined;
97
139
  hasSelection?: boolean | undefined;
98
140
  readOnly?: boolean | undefined;
99
141
  nodeKind?: string | undefined;
100
- documentFormat?: "html" | "latex" | "markdown" | undefined;
142
+ documentFormat?: "markdown" | "html" | "latex" | undefined;
101
143
  } | undefined;
102
144
  }[];
103
145
  launchers: {
104
146
  id: string;
105
- target: "shell.command" | "shell.navbar.action" | "shell.navigation.item";
147
+ target: "shell.navbar.action" | "shell.navigation.item" | "shell.command";
106
148
  title: string;
107
- icon?: "arrow-up-down" | "binary" | "bomb" | "boxes" | "braces" | "calculator" | "calendar" | "camera" | "clock" | "code" | "copy-x" | "database" | "dices" | "filter" | "flag" | "flask" | "function" | "git-branch" | "git-merge" | "group" | "hook" | "list-filter" | "merge" | "octagon-x" | "package" | "package-x" | "pencil" | "play" | "regex" | "repeat" | "replace" | "ruler" | "scan-eye" | "scissors" | "search" | "server-cog" | "settings" | "sigma" | "split" | "terminal" | "test-tube" | "text-cursor-input" | "ticket" | "truck" | "type" | "typescript" | "ungroup" | "variable" | "wand" | "wave" | "webhook" | "workflow" | "x" | undefined;
108
149
  opens: string;
150
+ icon?: "function" | "info" | "arrow-up-down" | "asterisk" | "binary" | "bomb" | "box" | "boxes" | "braces" | "calculator" | "calendar" | "calendar-clock" | "calendar-minus" | "calendar-plus" | "calendar-search" | "camera" | "case-lower" | "case-upper" | "chart-no-axes-column" | "chart-no-axes-combined" | "check-check" | "chevron-left" | "chevron-right" | "chevrons-left" | "chevrons-right" | "circle-check" | "circle-dashed" | "circle-slash" | "circle-x" | "clock" | "code" | "copy-x" | "corner-down-left" | "database" | "dices" | "equal" | "equal-not" | "file-input" | "file-output" | "file-terminal" | "file-text" | "filter" | "fingerprint" | "flag" | "flask" | "folder-plus" | "folder-search" | "git-branch" | "git-merge" | "group" | "hash" | "hook" | "house" | "key-round" | "list" | "list-check" | "list-checks" | "list-end" | "list-filter" | "list-ordered" | "list-restart" | "list-start" | "list-tree" | "merge" | "monitor" | "octagon-x" | "package" | "package-x" | "pencil" | "play" | "regex" | "remove-formatting" | "repeat" | "repeat-2" | "replace" | "ruler" | "scan-eye" | "scissors" | "search" | "search-check" | "server-cog" | "settings" | "shapes" | "shield-alert" | "shield-check" | "shuffle" | "sigma" | "space" | "split" | "terminal" | "test-tube" | "text-cursor" | "text-cursor-input" | "ticket" | "truck" | "type" | "typescript" | "ungroup" | "variable" | "wand" | "wave" | "webhook" | "workflow" | "x" | undefined;
109
151
  }[];
110
152
  locales: Record<string, Record<string, string>>;
153
+ icon?: "function" | "info" | "arrow-up-down" | "asterisk" | "binary" | "bomb" | "box" | "boxes" | "braces" | "calculator" | "calendar" | "calendar-clock" | "calendar-minus" | "calendar-plus" | "calendar-search" | "camera" | "case-lower" | "case-upper" | "chart-no-axes-column" | "chart-no-axes-combined" | "check-check" | "chevron-left" | "chevron-right" | "chevrons-left" | "chevrons-right" | "circle-check" | "circle-dashed" | "circle-slash" | "circle-x" | "clock" | "code" | "copy-x" | "corner-down-left" | "database" | "dices" | "equal" | "equal-not" | "file-input" | "file-output" | "file-terminal" | "file-text" | "filter" | "fingerprint" | "flag" | "flask" | "folder-plus" | "folder-search" | "git-branch" | "git-merge" | "group" | "hash" | "hook" | "house" | "key-round" | "list" | "list-check" | "list-checks" | "list-end" | "list-filter" | "list-ordered" | "list-restart" | "list-start" | "list-tree" | "merge" | "monitor" | "octagon-x" | "package" | "package-x" | "pencil" | "play" | "regex" | "remove-formatting" | "repeat" | "repeat-2" | "replace" | "ruler" | "scan-eye" | "scissors" | "search" | "search-check" | "server-cog" | "settings" | "shapes" | "shield-alert" | "shield-check" | "shuffle" | "sigma" | "space" | "split" | "terminal" | "test-tube" | "text-cursor" | "text-cursor-input" | "ticket" | "truck" | "type" | "typescript" | "ungroup" | "variable" | "wand" | "wave" | "webhook" | "workflow" | "x" | undefined;
154
+ iconUrl?: string | undefined;
155
+ privacyUrl?: string | undefined;
156
+ supportUrl?: string | undefined;
111
157
  } | undefined;
112
158
  integration?: {
113
- category?: string | undefined;
114
159
  tags: string[];
115
- auth?: string[] | undefined;
116
160
  npm?: {
117
161
  package: string;
118
162
  version: string;
119
163
  spec: string;
120
164
  } | undefined;
165
+ auth?: string[] | undefined;
166
+ category?: string | undefined;
121
167
  npmDependencies?: {
122
168
  package: string;
123
169
  version: string;
124
170
  spec: string;
125
171
  }[] | undefined;
126
172
  } | undefined;
173
+ icon?: string | undefined;
174
+ description?: string | undefined;
175
+ dependencyGroups?: Record<string, {
176
+ ecosystem: "pypi";
177
+ packages: {
178
+ name: string;
179
+ version: string;
180
+ }[];
181
+ } | {
182
+ ecosystem: "npm";
183
+ packages: {
184
+ name: string;
185
+ version: string;
186
+ }[];
187
+ }> | undefined;
188
+ runtimeRequirements?: Record<string, {
189
+ runtime: string;
190
+ versionConstraint: string;
191
+ adapterApi: "1";
192
+ dependencyGroups: string[];
193
+ }> | undefined;
194
+ library?: {
195
+ entry: "library/index.js";
196
+ exports: string[];
197
+ types: "library/index.d.ts";
198
+ format: 1;
199
+ } | undefined;
200
+ contents?: {
201
+ classes: string[];
202
+ types: string[];
203
+ services: string[];
204
+ constants: string[];
205
+ } | undefined;
206
+ inheritPluginIcon?: boolean | undefined;
207
+ author?: string | undefined;
208
+ contributors?: string[] | undefined;
209
+ homepage?: string | undefined;
210
+ license?: string | undefined;
127
211
  connections?: Record<string, {
128
212
  label: string;
129
- description?: string | undefined;
130
213
  fields: Record<string, {
131
214
  label: string;
132
- description?: string | undefined;
133
- secret: boolean;
134
215
  required: boolean;
216
+ secret: boolean;
217
+ description?: string | undefined;
135
218
  }>;
219
+ description?: string | undefined;
136
220
  }> | undefined;
137
221
  clients?: Record<string, {
138
- module: string;
139
- export: string;
140
- construction: "call" | "new";
141
- overload?: number | undefined;
142
222
  async: boolean;
223
+ module: string;
143
224
  parameters: {
144
225
  name: string;
145
- required: boolean;
146
226
  rest: boolean;
227
+ required: boolean;
147
228
  schema: Record<string, unknown>;
148
229
  }[];
149
230
  inputs: Record<string, unknown>;
231
+ export: string;
232
+ construction: "call" | "new";
150
233
  label?: string | undefined;
151
234
  fields?: Record<string, {
152
235
  label: string;
153
236
  secret?: boolean | undefined;
154
237
  }> | undefined;
238
+ overload?: number | undefined;
155
239
  }> | undefined;
156
240
  sdkExports?: {
157
241
  name: string;
158
- kind: "client" | "constant" | "function" | "type";
159
242
  type: string;
243
+ kind: "function" | "type" | "constant" | "client";
244
+ declaration?: string | undefined;
160
245
  schema?: Record<string, unknown> | undefined;
161
- }[] | undefined;
162
- nodes: {
163
- id: string;
164
- command: string;
165
- language?: string | undefined;
166
- label?: string | undefined;
167
- symbol?: string | undefined;
168
- description?: string | undefined;
169
- icon?: string | undefined;
170
- trigger?: boolean | undefined;
171
- inputs?: Record<string, unknown> | undefined;
172
- outputs?: Record<string, unknown> | undefined;
173
- env?: string[] | undefined;
174
- connections?: string[] | undefined;
175
- defaults?: Record<string, unknown> | undefined;
176
- client?: string | undefined;
177
- bindings?: Record<string, {
178
- module: string;
179
- export: string;
180
- options?: Record<string, unknown> | undefined;
181
- env?: Record<string, string> | undefined;
182
- }> | undefined;
183
- ui?: {
184
- apiVersion: "1";
185
- renderers: Record<string, {
186
- label: string;
187
- targets: Partial<Record<"node.inspector.inputs", string>>;
188
- }>;
189
- } | undefined;
190
- source?: {
191
- kind: "plugin";
192
- } | {
193
- kind: "npm";
194
- package: string;
195
- version: string;
196
- } | undefined;
197
- libraryExport?: string | undefined;
198
- implementation?: {
199
- module: string;
200
- export: string;
201
- methodPath?: string[] | undefined;
202
- parameters: string[];
203
- rest?: string | undefined;
204
- outputStreams?: string[][] | undefined;
246
+ members?: {
247
+ path: string[];
248
+ parameters: {
249
+ name: string;
250
+ typeName: string;
251
+ optional: boolean;
252
+ rest: boolean;
253
+ namedType?: boolean | undefined;
254
+ }[];
255
+ kind: "constructor" | "method" | "property";
256
+ typeName: string;
257
+ optional: boolean;
258
+ overload: number;
259
+ static: boolean;
260
+ namedType?: boolean | undefined;
261
+ }[] | undefined;
262
+ typeView?: {
263
+ fields: {
264
+ path: string[];
265
+ typeName: string;
266
+ optional?: boolean | undefined;
267
+ typeId?: string | undefined;
268
+ }[];
269
+ kind: "type" | "interface" | "enum";
205
270
  } | undefined;
206
- }[];
271
+ }[] | undefined;
207
272
  };
208
273
  export declare function readAppSource(root: string): AppSource;
209
274
  //# sourceMappingURL=source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/apps/source.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAU7D;AACD,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,GAAE,MAAM,EAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BnE;AACD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CA+CrD"}
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/apps/source.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAgB;AAEzC,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAU7D;AACD,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,GAAE,MAAM,EAAO;;;;;cAgF2ijJ,CAAC;aAAmC,CAAC;cAAoC,CAAC;;;;;;;;;;;eAAyQ,CAAC;cAAqC,CAAC;WAAiC,CAAC;YAAoC,CAAC;gBAAsC,CAAC;cAAoC,CAAC;eAAsD,CAAC;mBAA0D,CAAC;gBAAsC,CAAC;yBAAgE,CAAC;mBAA0C,CAAC;sBAA8C,CAAC;iBAAuC,CAAC;;;;;;;oBAAyL,CAAC;;gBAA6D,CAAC;;;mBAA8F,CAAC;eAAsD,CAAC;;UAAwE,CAAC;;;;;;;qBAA+O,CAAC;sBAA4C,CAAC;;;;gBAA8G,CAAC;sBAA4C,CAAC;yBAAiD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAA8+B,CAAC;eAAu6C,CAAC;kBAAwC,CAAC;kBAAwC,CAAC;kBAAwC,CAAC;;;;;;;;;;;;;;;;YAAogB,CAAC;eAAu6C,CAAC;kBAAwC,CAAC;kBAAwC,CAAC;;;;;;;;;;;;;;;;gBAAk3C,CAAC;gBAAw6C,CAAC;0BAA8B,CAAC;4BAAmD,CAAC;wBAA+C,CAAC;wBAA+C,CAAC;8BAAoD,CAAC;;;;;;;;gBAA+R,CAAC;;;YAA0+C,CAAC;eAAu6C,CAAC;kBAAwC,CAAC;kBAAwC,CAAC;;;;WAAgG,CAAC;;;;;YAA2H,CAAC;gBAAwC,CAAC;uBAA6C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAA21C,CAAC;;mBAAqD,CAAC;;;;;;;;;;;;;;aAAiZ,CAAC;cAAoC,CAAC;;kBAAgE,CAAC;;gBAA+D,CAAC;;;;;;mBAAuL,CAAC;cAAoC,CAAC;eAAsD,CAAC;;;;;;;yBAAqN,CAAC;;;;;;;qBAA8O,CAAC;;gBAAgE,CAAC;;;;wBAAoH,CAAC;sBAA6C,CAAC;;;;;EAjD92iK;AACD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CA+CrD"}
@@ -6,8 +6,8 @@ exports.readAppSource = readAppSource;
6
6
  const node_fs_1 = require("node:fs");
7
7
  const node_path_1 = require("node:path");
8
8
  const plugins_1 = require("@octonodes/sdk/plugins");
9
- const artifact_1 = require("../plugins/artifact");
10
- const constants_1 = require("./constants");
9
+ const artifact_1 = require("../plugins/artifact.js");
10
+ const constants_1 = require("./constants.js");
11
11
  function sourceFile(root, path) {
12
12
  if ((0, node_fs_1.lstatSync)(root).isSymbolicLink())
13
13
  throw new Error("App root cannot be a symlink");
@@ -85,7 +85,7 @@ function readAppSource(root) {
85
85
  throw new Error("web.entry must be a server module under src/");
86
86
  (0, artifact_1.safePath)(source.web.entry);
87
87
  plugins_1.AppAction.array()
88
- .max(4)
88
+ .max(plugins_1.AppAction.options.length)
89
89
  .parse(source.web.requestedActions ?? []);
90
90
  if (source.settings?.length)
91
91
  throw new Error("Shared settings require an extension-only app; configure full apps in their backend");
@@ -1 +1 @@
1
- {"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/apps/source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/apps/source.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.registerTunnel = registerTunnel;
4
4
  const sdk_1 = require("@octonodes/sdk");
5
- const auth_1 = require("../auth");
6
- const tunnel_1 = require("./tunnel");
5
+ const auth_1 = require("../auth.js");
6
+ const tunnel_1 = require("./tunnel.js");
7
7
  async function registerTunnel(upstream, previewToken, workspace, baseUrl = sdk_1.OCTONODE_API_URL) {
8
8
  const base = new URL(baseUrl);
9
9
  if (base.protocol !== "https:" && !(base.protocol === "http:" && ["localhost", "127.0.0.1"].includes(base.hostname)))
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel-lease.js","sourceRoot":"","sources":["../../src/apps/tunnel-lease.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tunnel-lease.js","sourceRoot":"","sources":["../../src/apps/tunnel-lease.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel.js","sourceRoot":"","sources":["../../src/apps/tunnel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tunnel.js","sourceRoot":"","sources":["../../src/apps/tunnel.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- export declare const welcomeCss = ":root{font-family:\"Avenir Next\",Avenir,ui-sans-serif,system-ui,sans-serif;background:#f7f8fa;color:#181721}*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #ff765f;outline-offset:4px}.shell{max-width:1120px;margin:auto;padding:0 32px}.top{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e1e0}.brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:800;letter-spacing:-.05em}.mark{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#ff765f;color:white;box-shadow:4px 4px 0 #ffd5cc}.top a{font-size:14px;font-weight:700;color:#923a2a}.hero{min-height:calc(100vh - 82px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(310px,.9fr);gap:64px;align-items:center;padding-top:64px;padding-bottom:64px}.eyebrow{display:flex;align-items:center;gap:9px;color:#923a2a;font-size:14px;font-weight:700}.eyebrow:before{content:\"\";width:8px;height:8px;border-radius:50%;background:#ff765f}h1{font-size:clamp(48px,5.4vw,76px);line-height:1.02;letter-spacing:-.075em;margin:20px 0 24px}h1 span{color:#dc5841}.intro{font-size:18px;line-height:1.6;color:#5d5a60;max-width:550px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.button{border-radius:12px;background:#181721;color:white;padding:14px 20px;font-weight:700;box-shadow:0 7px 18px #1817212a}.button.secondary{background:white;color:#181721;border:1px solid #e2dedf;box-shadow:none}.steps{margin-top:32px;color:#666169;font-size:13px;line-height:1.7}.steps code{color:#923a2a;background:#fff0ed;padding:3px 6px;border-radius:5px}.stage{position:relative;min-height:380px;border:1px solid #e5e1e0;border-radius:24px;background:linear-gradient(155deg,#fff,#fff3ef);padding:28px;box-shadow:0 24px 56px #18172118;overflow:hidden}.stage:before{content:\"\";position:absolute;inset:0;background-image:linear-gradient(#8c6a5b12 1px,transparent 1px),linear-gradient(90deg,#8c6a5b12 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,#000,transparent)}.stage>*{position:relative}.stage-title{display:flex;justify-content:space-between;color:#53607d;font-size:13px;font-weight:700}.flow{display:flex;align-items:center;gap:8px;margin:75px 0 65px}.node{width:115px;min-height:96px;flex:none;background:#fff;border:1px solid #e6dfdd;border-radius:16px;padding:14px;box-shadow:0 8px 20px #18172116}.node.main{border-color:#ff9b89;box-shadow:0 10px 24px #dc58412b}.node-symbol{font-size:22px;color:#e36852}.node strong{display:block;margin-top:14px;font-size:13px}.wire{height:2px;min-width:12px;flex:1;background:#c8aaa4;position:relative}.wire:after{content:\"\";position:absolute;right:-2px;top:-4px;border-left:7px solid #c8aaa4;border-top:5px solid transparent;border-bottom:5px solid transparent}.connection{padding:16px 18px;background:#fff;border:1px solid #e9dfdc;border-radius:13px;display:flex;align-items:center;gap:11px;font-size:14px;line-height:1.4}.connection:before{content:\"\";width:10px;height:10px;flex:none;border-radius:50%;background:#ff765f}.connection span{overflow-wrap:anywhere}@media(max-width:850px){.hero{grid-template-columns:1fr;gap:45px}.stage{min-height:330px}.flow{margin:55px 0}}@media(max-width:500px){.shell{padding-left:20px;padding-right:20px}.top{height:70px}.hero{padding-top:45px}.stage{padding:18px;min-height:300px}.flow{margin:45px 0}.node{width:82px;padding:9px;min-height:84px}.node strong{font-size:11px}.intro{font-size:16px}}";
1
+ export declare const appCss = ":root {\n color-scheme: light;\n --canvas: #f8f9fc;\n --surface: #fff;\n --ink: #252c43;\n --muted: #647087;\n --line: #dfe3ed;\n --accent: #6158a6;\n --accent-ink: #fff;\n --paper: #eef0f8;\n --soft: #8192b6;\n}\n@media (prefers-color-scheme: dark) {\n :root {\n color-scheme: dark;\n --canvas: #17191f;\n --surface: #20232d;\n --ink: #f2f3f8;\n --muted: #a5adbf;\n --line: #363b4c;\n --accent: #b7b2f0;\n --accent-ink: #242039;\n --paper: #292e3b;\n --soft: #8e99b4;\n }\n}\n* {\n box-sizing: border-box;\n}\nbody {\n margin: 0;\n min-width: 0;\n background: var(--canvas);\n color: var(--ink);\n font:\n 16px/1.6 ui-sans-serif,\n system-ui,\n -apple-system,\n BlinkMacSystemFont,\n \"Segoe UI\",\n sans-serif;\n -webkit-font-smoothing: antialiased;\n}\n.app-page {\n max-width: 1240px;\n margin: auto;\n padding: clamp(24px, 5vw, 72px);\n}\n.context {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n color: var(--muted);\n font-size: 13px;\n}\n.identity {\n display: flex;\n align-items: center;\n gap: 9px;\n}\n.identity svg {\n width: 20px;\n height: 20px;\n color: var(--accent);\n}\n.connection {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.connection::before {\n content: \"\";\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background: #8ebfb0;\n}\n.welcome {\n min-height: 520px;\n display: grid;\n grid-template-columns: 1fr 1fr;\n align-items: center;\n gap: clamp(24px, 5vw, 72px);\n padding: 56px 0;\n}\n.app-page h1 {\n margin: 0 0 24px;\n max-width: 9em;\n font-size: clamp(38px, 4.6vw, 64px);\n line-height: 1.08;\n letter-spacing: -0.045em;\n font-weight: 650;\n text-wrap: balance;\n}\n.intro {\n margin: 0;\n color: var(--muted);\n max-width: 32em;\n font-size: 17px;\n line-height: 1.75;\n}\n.action {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 14px;\n margin-top: 32px;\n padding: 13px 20px;\n border-radius: 12px;\n background: var(--accent);\n color: var(--accent-ink);\n font-size: 14px;\n font-weight: 650;\n text-decoration: none;\n transition:\n box-shadow 0.2s,\n transform 0.2s;\n}\n.action svg {\n width: 18px;\n height: 18px;\n}\n.action:hover {\n box-shadow: 0 6px 24px color-mix(in srgb, var(--accent) 20%, transparent);\n transform: translateY(-2px);\n}\n.action:focus-visible {\n outline: 2px solid var(--accent);\n outline-offset: 5px;\n}\n.scene {\n width: 100%;\n max-width: 480px;\n justify-self: center;\n overflow: visible;\n}\n.scene .paper {\n fill: var(--surface);\n stroke: var(--line);\n}\n.scene .back {\n fill: var(--paper);\n stroke: var(--line);\n}\n.scene .ink {\n fill: var(--ink);\n}\n.scene .muted {\n fill: var(--muted);\n}\n.scene .accent {\n stroke: var(--accent);\n}\n.scene .route {\n fill: none;\n stroke: var(--line);\n stroke-width: 1.5;\n}\n.scene .signal {\n fill: none;\n stroke: var(--accent);\n stroke-width: 2;\n stroke-linecap: round;\n stroke-dasharray: 18 240;\n animation: connect 1.5s ease-in-out 3;\n}\n.scene .project {\n transform-origin: 240px 210px;\n animation: unfold 1.1s cubic-bezier(0.2, 0.75, 0.25, 1) both;\n}\n.scene .project-back {\n animation-delay: 0.08s;\n}\n.scene .project-front {\n animation-delay: 0.18s;\n}\n.scene .satellite {\n animation: arrive 0.9s ease-out 0.35s both;\n}\n[hidden] {\n display: none !important;\n}\n.project-view {\n min-height: 520px;\n padding: 72px 0;\n}\n.details {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 48px;\n border-top: 1px solid var(--line);\n padding-top: 32px;\n}\n.detail {\n display: flex;\n align-items: flex-start;\n gap: 16px;\n}\n.detail svg {\n margin-top: 4px;\n flex-shrink: 0;\n width: 22px;\n height: 22px;\n color: var(--soft);\n}\n.app-page h2 {\n margin: 0 0 6px;\n font-size: 15px;\n font-weight: 600;\n}\n.detail p {\n margin: 0;\n max-width: 30em;\n color: var(--muted);\n font-size: 13px;\n line-height: 1.7;\n}\n@keyframes unfold {\n from {\n opacity: 0;\n transform: translateY(22px) rotate(-4deg);\n }\n to {\n opacity: 1;\n transform: translateY(0) rotate(0);\n }\n}\n@keyframes arrive {\n from {\n opacity: 0;\n transform: translateY(12px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n@keyframes connect {\n from {\n stroke-dashoffset: 250;\n opacity: 0;\n }\n 20%,\n 70% {\n opacity: 1;\n }\n to {\n stroke-dashoffset: 0;\n opacity: 0;\n }\n}\n@media (max-width: 760px) {\n .welcome {\n min-height: 0;\n grid-template-columns: 1fr;\n gap: 16px;\n padding: 48px 0 24px;\n }\n .app-page h1 {\n max-width: 12em;\n }\n .scene {\n max-width: 380px;\n }\n .details {\n grid-template-columns: 1fr;\n gap: 24px;\n }\n}\n@media (max-width: 380px) {\n .context {\n font-size: 12px;\n }\n .connection {\n display: none;\n }\n}\n@media (prefers-reduced-motion: reduce) {\n *,\n *::before,\n *::after {\n animation: none !important;\n transition: none !important;\n }\n .signal {\n display: none;\n }\n}\n@media (forced-colors: active) {\n :root {\n --canvas: Canvas;\n --surface: Canvas;\n --paper: Canvas;\n --ink: CanvasText;\n --muted: CanvasText;\n --line: CanvasText;\n --accent: LinkText;\n --accent-ink: Canvas;\n --soft: CanvasText;\n }\n .action {\n border: 1px solid LinkText;\n }\n}\n\n.app-navbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding: 16px 24px; border-bottom: 1px solid var(--line); }\n.app-navbar nav { display: flex; gap: 8px; flex-wrap: wrap; }\n.app-navbar a { color: var(--muted); text-decoration: none; padding: 8px 12px; border-radius: 8px; }\n.app-navbar a[aria-current=\"page\"] { background: var(--paper); color: var(--ink); }\n.app-navbar a:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }\n.project-list { list-style: none; margin: 28px 0 0; padding: 0; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }\n.project-list li { padding: 20px; background: var(--surface); border-bottom: 1px solid var(--line); }\n.project-list li:last-child { border-bottom: 0; }\n.project-list strong, .project-list small { display: block; overflow-wrap: anywhere; }\n.project-list small { margin-top: 4px; color: var(--muted); }\n.project-view p { color: var(--muted); }\n.access-state { min-height: calc(100dvh - 144px); display: flex; align-items: center; justify-content: center; gap: 14px; margin: auto; text-align: center; }\n.access-state[data-state=\"connecting\"]::before { content: \"\"; width: 20px; height: 20px; flex-shrink: 0; border: 2px solid var(--line); border-top-color: var(--accent); border-radius: 50%; animation: spin 1s linear infinite; }\n@keyframes spin { to { transform: rotate(360deg); } }\n";
2
2
  export declare function welcomeHtml(name: string): string;
3
- export declare const appCss = ":root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#181721;background:#fff}*{box-sizing:border-box}body{margin:0;min-width:320px}.app-navbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 24px;border-bottom:1px solid #e4e6ea}.app-navbar nav{display:flex;gap:8px;flex-wrap:wrap}.app-navbar a{color:#555b67;text-decoration:none;padding:8px 12px;border-radius:8px}.app-navbar a[aria-current=page]{background:#eceef1;color:#181721}.app-navbar a:focus-visible{outline:2px solid #b65b49}.app-page{max-width:920px;padding:44px clamp(20px,5vw,64px)}h1{font-size:clamp(28px,3vw,40px);letter-spacing:-.04em;line-height:1.15;margin:0 0 12px}p{color:#5f6470;line-height:1.6}.eyebrow{font-size:13px;font-weight:700;color:#92513f;margin:0 0 12px}.project-list{list-style:none;margin:28px 0 0;padding:0;border:1px solid #e4e6ea;border-radius:12px;overflow:hidden}.project-list li{padding:16px 20px;border-bottom:1px solid #e4e6ea}.project-list li:last-child{border-bottom:0}.project-list strong{display:block}.project-list small{display:block;margin-top:4px;color:#5f6470;overflow-wrap:anywhere}";
4
3
  export declare function welcomeReact(name: string): string;
4
+ export declare function welcomeHosted(): string;
5
5
  //# sourceMappingURL=welcome.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"welcome.d.ts","sourceRoot":"","sources":["../../src/apps/welcome.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,49GAAk9G,CAAC;AAE1+G,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,UAEvC;AAED,eAAO,MAAM,MAAM,+nCAA+nC,CAAC;AAEnpC,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,UAmCxC"}
1
+ {"version":3,"file":"welcome.d.ts","sourceRoot":"","sources":["../../src/apps/welcome.ts"],"names":[],"mappings":"AAkGA,eAAO,MAAM,MAAM,kyNAgUlB,CAAC;AAEF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,UAkBvC;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,UAgDxC;AAED,wBAAgB,aAAa,WAsE5B"}