@jingyi0605/codingns 0.1.2 → 0.1.4

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 (71) hide show
  1. package/bin/codingns.mjs +47 -8
  2. package/dist/public/assets/{TerminalPage-Dr7knYq2.js → TerminalPage-4ulgBhv9.js} +19 -19
  3. package/dist/public/assets/index-C5lu52cQ.css +1 -0
  4. package/dist/public/assets/index-WpdUo_Vs.js +108 -0
  5. package/dist/public/index.html +2 -2
  6. package/dist/server/config/env.d.ts +1 -0
  7. package/dist/server/config/env.js +2 -1
  8. package/dist/server/config/env.js.map +1 -1
  9. package/dist/server/modules/auth/auth-service.d.ts +7 -1
  10. package/dist/server/modules/auth/auth-service.js +23 -3
  11. package/dist/server/modules/auth/auth-service.js.map +1 -1
  12. package/dist/server/modules/bootstrap/bootstrap-service.d.ts +3 -1
  13. package/dist/server/modules/bootstrap/bootstrap-service.js +7 -2
  14. package/dist/server/modules/bootstrap/bootstrap-service.js.map +1 -1
  15. package/dist/server/modules/demo/demo-cleanup-service.d.ts +41 -0
  16. package/dist/server/modules/demo/demo-cleanup-service.js +111 -0
  17. package/dist/server/modules/demo/demo-cleanup-service.js.map +1 -0
  18. package/dist/server/modules/sessions/codex-app-server-helper-client.d.ts +1 -0
  19. package/dist/server/modules/sessions/codex-app-server-helper-client.js +24 -1
  20. package/dist/server/modules/sessions/codex-app-server-helper-client.js.map +1 -1
  21. package/dist/server/modules/sessions/session-history-service.js +16 -15
  22. package/dist/server/modules/sessions/session-history-service.js.map +1 -1
  23. package/dist/server/modules/sessions/session-live-runtime-service.d.ts +2 -0
  24. package/dist/server/modules/sessions/session-live-runtime-service.js +13 -7
  25. package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
  26. package/dist/server/modules/terminal/command-template-service.d.ts +4 -0
  27. package/dist/server/modules/terminal/command-template-service.js +88 -2
  28. package/dist/server/modules/terminal/command-template-service.js.map +1 -1
  29. package/dist/server/modules/terminal/template-reverse-proxy-service.d.ts +10 -0
  30. package/dist/server/modules/terminal/template-reverse-proxy-service.js +320 -0
  31. package/dist/server/modules/terminal/template-reverse-proxy-service.js.map +1 -0
  32. package/dist/server/modules/terminal/terminal-controller.d.ts +1 -0
  33. package/dist/server/modules/terminal/terminal-controller.js +16 -0
  34. package/dist/server/modules/terminal/terminal-controller.js.map +1 -1
  35. package/dist/server/modules/terminal/terminal-service.js +2 -2
  36. package/dist/server/modules/terminal/terminal-service.js.map +1 -1
  37. package/dist/server/modules/workbench/workspace-panel-snapshot-service.js +7 -2
  38. package/dist/server/modules/workbench/workspace-panel-snapshot-service.js.map +1 -1
  39. package/dist/server/routes/proxy.d.ts +3 -0
  40. package/dist/server/routes/proxy.js +24 -0
  41. package/dist/server/routes/proxy.js.map +1 -0
  42. package/dist/server/routes/sessions.d.ts +1 -0
  43. package/dist/server/routes/sessions.js +12 -3
  44. package/dist/server/routes/sessions.js.map +1 -1
  45. package/dist/server/server/create-server.js +39 -6
  46. package/dist/server/server/create-server.js.map +1 -1
  47. package/dist/server/storage/repositories/terminal-command-template-repository.d.ts +1 -0
  48. package/dist/server/storage/repositories/terminal-command-template-repository.js +34 -3
  49. package/dist/server/storage/repositories/terminal-command-template-repository.js.map +1 -1
  50. package/dist/server/storage/sqlite/client.js +27 -0
  51. package/dist/server/storage/sqlite/client.js.map +1 -1
  52. package/dist/server/storage/sqlite/schema.sql +2 -0
  53. package/dist/server/types/domain.d.ts +2 -0
  54. package/dist/server/ws/ws-server.js +3 -1
  55. package/dist/server/ws/ws-server.js.map +1 -1
  56. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js +165 -6
  57. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js.map +1 -1
  58. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js +10 -0
  59. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js.map +1 -1
  60. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js +4 -1
  61. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js.map +1 -1
  62. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.d.ts +2 -0
  63. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +30 -0
  64. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -1
  65. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.d.ts +2 -0
  66. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js +16 -0
  67. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js.map +1 -1
  68. package/node_modules/@codingns/session-sync-core/dist/runtime/types.d.ts +3 -0
  69. package/package.json +1 -1
  70. package/dist/public/assets/index-BpUi6zoT.js +0 -108
  71. package/dist/public/assets/index-NMtdQNda.css +0 -1
package/bin/codingns.mjs CHANGED
@@ -25,6 +25,13 @@ if (options.help) {
25
25
  printHelp(0);
26
26
  }
27
27
 
28
+ if (options.errors.length > 0) {
29
+ for (const error of options.errors) {
30
+ console.error(`[codingns] ${error}`);
31
+ }
32
+ printHelp(1);
33
+ }
34
+
28
35
  const host = readStringOption(
29
36
  options.values.host,
30
37
  process.env.HOST,
@@ -41,6 +48,7 @@ const dataDir = resolveDataDir(
41
48
  path.join(os.homedir(), ".codingns")
42
49
  )
43
50
  );
51
+ const demoMode = options.flags.demo || process.env.DEMO_MODE === "true";
44
52
 
45
53
  fs.mkdirSync(dataDir, { recursive: true });
46
54
  fs.mkdirSync(path.join(dataDir, "releases"), { recursive: true });
@@ -53,11 +61,14 @@ await startHost({
53
61
  webUiDir: path.join(distRoot, "public"),
54
62
  databasePath: path.join(dataDir, "host.sqlite"),
55
63
  releaseManifestRoot: path.join(dataDir, "releases"),
56
- serverUpdatePackageName: "@jingyi0605/codingns"
64
+ serverUpdatePackageName: "@jingyi0605/codingns",
65
+ demoMode
57
66
  });
58
67
 
59
68
  function parseArgs(argv) {
60
69
  const values = {};
70
+ const flags = {};
71
+ const errors = [];
61
72
  let index = 0;
62
73
 
63
74
  while (index < argv.length) {
@@ -66,18 +77,37 @@ function parseArgs(argv) {
66
77
  if (token === "--help" || token === "-h") {
67
78
  return {
68
79
  help: true,
69
- values
80
+ values,
81
+ flags,
82
+ errors
70
83
  };
71
84
  }
72
85
 
73
86
  if (!token.startsWith("--")) {
74
- fail(`无效参数:${token}`);
87
+ errors.push(`无效参数:${token}`);
88
+ index += 1;
89
+ continue;
75
90
  }
76
91
 
77
92
  const [rawName, inlineValue] = token.slice(2).split("=", 2);
78
93
 
79
- if (!rawName || !isSupportedOption(rawName)) {
80
- fail(`不支持的参数:${token}`);
94
+ if (!rawName) {
95
+ errors.push(`无效参数:${token}`);
96
+ index += 1;
97
+ continue;
98
+ }
99
+
100
+ // 布尔标志(不需要值)
101
+ if (isSupportedFlag(rawName)) {
102
+ flags[rawName] = true;
103
+ index += 1;
104
+ continue;
105
+ }
106
+
107
+ if (!isSupportedOption(rawName)) {
108
+ errors.push(`不支持的参数:${token}`);
109
+ index += 1;
110
+ continue;
81
111
  }
82
112
 
83
113
  if (inlineValue !== undefined) {
@@ -89,7 +119,9 @@ function parseArgs(argv) {
89
119
  const nextValue = argv[index + 1];
90
120
 
91
121
  if (!nextValue || nextValue.startsWith("--")) {
92
- fail(`参数 ${token} 缺少取值`);
122
+ errors.push(`参数 ${token} 缺少取值`);
123
+ index += 1;
124
+ continue;
93
125
  }
94
126
 
95
127
  values[rawName] = nextValue;
@@ -98,7 +130,9 @@ function parseArgs(argv) {
98
130
 
99
131
  return {
100
132
  help: false,
101
- values
133
+ values,
134
+ flags,
135
+ errors
102
136
  };
103
137
  }
104
138
 
@@ -106,6 +140,10 @@ function isSupportedOption(name) {
106
140
  return name === "host" || name === "port" || name === "data-dir";
107
141
  }
108
142
 
143
+ function isSupportedFlag(name) {
144
+ return name === "demo";
145
+ }
146
+
109
147
  function readStringOption(...values) {
110
148
  for (const value of values) {
111
149
  if (typeof value === "string" && value.trim().length > 0) {
@@ -148,13 +186,14 @@ function printHelp(exitCode) {
148
186
  const output = `
149
187
  codingns 用法:
150
188
 
151
- codingns start [--host 0.0.0.0] [--port 3002] [--data-dir ~/.codingns]
189
+ codingns start [--host 0.0.0.0] [--port 3002] [--data-dir ~/.codingns] [--demo]
152
190
 
153
191
  说明:
154
192
 
155
193
  --host 服务监听地址,默认 0.0.0.0
156
194
  --port 服务监听端口,默认 3002
157
195
  --data-dir 数据目录,默认 ~/.codingns
196
+ --demo 以演示模式启动(自动创建 demo 账户、15 分钟会话超时、开放 CORS)
158
197
  --help 显示帮助
159
198
  `.trim();
160
199