@openclaw-cloud/agent-controller 1.0.0-beta.2 → 1.0.0-beta.20

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 (131) hide show
  1. package/bin/agent-controller.js +11 -2
  2. package/dist/api.d.ts +4 -0
  3. package/dist/api.js +10 -2
  4. package/dist/api.js.map +1 -1
  5. package/dist/commands/bootstrap.js +9 -34
  6. package/dist/commands/bootstrap.js.map +1 -1
  7. package/dist/commands/channel-server.d.ts +17 -0
  8. package/dist/commands/channel-server.js +71 -0
  9. package/dist/commands/channel-server.js.map +1 -0
  10. package/dist/commands/heartbeat-cli.js +5 -4
  11. package/dist/commands/heartbeat-cli.js.map +1 -1
  12. package/dist/commands/install-deps.js +18 -8
  13. package/dist/commands/install-deps.js.map +1 -1
  14. package/dist/commands/install.js +8 -8
  15. package/dist/commands/install.js.map +1 -1
  16. package/dist/commands/self-update.js +2 -1
  17. package/dist/commands/self-update.js.map +1 -1
  18. package/dist/config-file.js +20 -4
  19. package/dist/config-file.js.map +1 -1
  20. package/dist/config.d.ts +39 -0
  21. package/dist/config.js +101 -0
  22. package/dist/config.js.map +1 -0
  23. package/dist/connection.d.ts +2 -0
  24. package/dist/connection.js +38 -7
  25. package/dist/connection.js.map +1 -1
  26. package/dist/debug.js +2 -1
  27. package/dist/debug.js.map +1 -1
  28. package/dist/handlers/backup.js +4 -1
  29. package/dist/handlers/backup.js.map +1 -1
  30. package/dist/handlers/board-handler.d.ts +4 -0
  31. package/dist/handlers/board-handler.js +127 -100
  32. package/dist/handlers/board-handler.js.map +1 -1
  33. package/dist/handlers/chat.d.ts +17 -0
  34. package/dist/handlers/chat.js +187 -6
  35. package/dist/handlers/chat.js.map +1 -1
  36. package/dist/handlers/deploy.js +16 -29
  37. package/dist/handlers/deploy.js.map +1 -1
  38. package/dist/handlers/diagnostics.js +12 -0
  39. package/dist/handlers/diagnostics.js.map +1 -1
  40. package/dist/handlers/knowledge-sync.js +21 -1
  41. package/dist/handlers/knowledge-sync.js.map +1 -1
  42. package/dist/handlers/memory.d.ts +13 -0
  43. package/dist/handlers/memory.js +128 -0
  44. package/dist/handlers/memory.js.map +1 -0
  45. package/dist/handlers/onboarding.js +18 -2
  46. package/dist/handlers/onboarding.js.map +1 -1
  47. package/dist/handlers/package-install.js +44 -12
  48. package/dist/handlers/package-install.js.map +1 -1
  49. package/dist/handlers/pair.js +14 -1
  50. package/dist/handlers/pair.js.map +1 -1
  51. package/dist/handlers/restart.js +3 -1
  52. package/dist/handlers/restart.js.map +1 -1
  53. package/dist/handlers/self-update.js +3 -1
  54. package/dist/handlers/self-update.js.map +1 -1
  55. package/dist/handlers/stop.js +7 -0
  56. package/dist/handlers/stop.js.map +1 -1
  57. package/dist/handlers/telegram-webhook.js +23 -0
  58. package/dist/handlers/telegram-webhook.js.map +1 -1
  59. package/dist/handlers/update-config.js +8 -2
  60. package/dist/handlers/update-config.js.map +1 -1
  61. package/dist/heartbeat.d.ts +7 -0
  62. package/dist/heartbeat.js +15 -65
  63. package/dist/heartbeat.js.map +1 -1
  64. package/dist/index.d.ts +1 -1
  65. package/dist/index.js +140 -29
  66. package/dist/index.js.map +1 -1
  67. package/dist/mcp-client.js.map +1 -1
  68. package/dist/memory-mcp-server.d.ts +8 -0
  69. package/dist/memory-mcp-server.js +291 -0
  70. package/dist/memory-mcp-server.js.map +1 -0
  71. package/dist/platform/linux.js +7 -3
  72. package/dist/platform/linux.js.map +1 -1
  73. package/dist/platform/macos.js +4 -2
  74. package/dist/platform/macos.js.map +1 -1
  75. package/dist/platform/windows.js +4 -2
  76. package/dist/platform/windows.js.map +1 -1
  77. package/dist/providers/claude-code/channel-server.d.ts +60 -0
  78. package/dist/providers/claude-code/channel-server.js +155 -0
  79. package/dist/providers/claude-code/channel-server.js.map +1 -0
  80. package/dist/providers/claude-code/index.d.ts +68 -0
  81. package/dist/providers/claude-code/index.js +276 -0
  82. package/dist/providers/claude-code/index.js.map +1 -0
  83. package/dist/providers/claude-code/login-flow.d.ts +26 -0
  84. package/dist/providers/claude-code/login-flow.js +129 -0
  85. package/dist/providers/claude-code/login-flow.js.map +1 -0
  86. package/dist/providers/claude-code/settings-writer.d.ts +29 -0
  87. package/dist/providers/claude-code/settings-writer.js +95 -0
  88. package/dist/providers/claude-code/settings-writer.js.map +1 -0
  89. package/dist/providers/claude-code/socket-bridge.d.ts +88 -0
  90. package/dist/providers/claude-code/socket-bridge.js +302 -0
  91. package/dist/providers/claude-code/socket-bridge.js.map +1 -0
  92. package/dist/providers/claude-code/spawn-claude.d.ts +44 -0
  93. package/dist/providers/claude-code/spawn-claude.js +108 -0
  94. package/dist/providers/claude-code/spawn-claude.js.map +1 -0
  95. package/dist/providers/index.d.ts +4 -2
  96. package/dist/providers/index.js +12 -0
  97. package/dist/providers/index.js.map +1 -1
  98. package/dist/providers/mock/index.js.map +1 -1
  99. package/dist/providers/openclaw/device-identity.js +2 -2
  100. package/dist/providers/openclaw/device-identity.js.map +1 -1
  101. package/dist/providers/openclaw/gateway-adapter.js +19 -8
  102. package/dist/providers/openclaw/gateway-adapter.js.map +1 -1
  103. package/dist/providers/openclaw/gateway-client.js +9 -3
  104. package/dist/providers/openclaw/gateway-client.js.map +1 -1
  105. package/dist/providers/openclaw/index.js +14 -3
  106. package/dist/providers/openclaw/index.js.map +1 -1
  107. package/dist/types.d.ts +1 -1
  108. package/dist/utils/agent-controller-bin.d.ts +8 -0
  109. package/dist/utils/agent-controller-bin.js +58 -0
  110. package/dist/utils/agent-controller-bin.js.map +1 -0
  111. package/dist/utils/apply-config.d.ts +28 -0
  112. package/dist/utils/apply-config.js +234 -4
  113. package/dist/utils/apply-config.js.map +1 -1
  114. package/dist/utils/claude-env.js +11 -5
  115. package/dist/utils/claude-env.js.map +1 -1
  116. package/dist/utils/config-merge-paths.d.ts +21 -0
  117. package/dist/utils/config-merge-paths.js +27 -0
  118. package/dist/utils/config-merge-paths.js.map +1 -0
  119. package/dist/utils/env.js +2 -1
  120. package/dist/utils/env.js.map +1 -1
  121. package/dist/utils/knowledge-graph.d.ts +66 -0
  122. package/dist/utils/knowledge-graph.js +163 -0
  123. package/dist/utils/knowledge-graph.js.map +1 -0
  124. package/dist/utils/release-channel.js +2 -4
  125. package/dist/utils/release-channel.js.map +1 -1
  126. package/dist/utils/write-workspace-files.d.ts +15 -0
  127. package/dist/utils/write-workspace-files.js +48 -0
  128. package/dist/utils/write-workspace-files.js.map +1 -0
  129. package/dist/workspace.js +4 -5
  130. package/dist/workspace.js.map +1 -1
  131. package/package.json +24 -3
@@ -1 +1 @@
1
- {"version":3,"file":"apply-config.js","sourceRoot":"","sources":["../../src/utils/apply-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply-config.js","sourceRoot":"","sources":["../../src/utils/apply-config.ts"],"names":[],"mappings":"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"}
@@ -53,13 +53,17 @@ export async function writeClaudeEnv(envVars) {
53
53
  const hooks = {
54
54
  PreToolUse: [{ matcher: 'Bash', hooks: [] }],
55
55
  PostToolUse: [{ matcher: 'Write|Edit', hooks: [] }],
56
- Stop: [{
56
+ Stop: [
57
+ {
57
58
  hooks: [{ type: 'command', command: 'CC_HOOK_EVENT=Stop ~/.claude/cc-notify.sh' }],
58
- }],
59
- Notification: [{
59
+ },
60
+ ],
61
+ Notification: [
62
+ {
60
63
  matcher: 'permission_prompt',
61
64
  hooks: [{ type: 'command', command: 'CC_HOOK_EVENT=Notification ~/.claude/cc-notify.sh' }],
62
- }],
65
+ },
66
+ ],
63
67
  };
64
68
  const permissions = {
65
69
  allow: ['Bash(*)', 'Read(*)', 'Write(*)', 'Edit(*)', 'mcp__*'],
@@ -78,7 +82,9 @@ export async function writeClaudeEnv(envVars) {
78
82
  settings = {
79
83
  permissions,
80
84
  apiKeyHelper: "bash -c 'source /opt/openclaw-cloud/agent-controller/.env && echo $ANTHROPIC_API_KEY'",
81
- ...(envVars.ANTHROPIC_BASE_URL ? { env: { ANTHROPIC_BASE_URL: envVars.ANTHROPIC_BASE_URL } } : {}),
85
+ ...(envVars.ANTHROPIC_BASE_URL
86
+ ? { env: { ANTHROPIC_BASE_URL: envVars.ANTHROPIC_BASE_URL } }
87
+ : {}),
82
88
  hooks,
83
89
  };
84
90
  }
@@ -1 +1 @@
1
- {"version":3,"file":"claude-env.js","sourceRoot":"","sources":["../../src/utils/claude-env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCpB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAA+B;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IACrD,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/C,qBAAqB;IACrB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACxD,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC7C,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAElC,MAAM,YAAY,GAAG,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC;IACrD,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAE3D,MAAM,KAAK,GAAG;QACZ,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC5C,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACnD,IAAI,EAAE,CAAC;gBACL,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC;aACnF,CAAC;QACF,YAAY,EAAE,CAAC;gBACb,OAAO,EAAE,mBAAmB;gBAC5B,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,mDAAmD,EAAE,CAAC;aAC3F,CAAC;KACH,CAAC;IAEF,MAAM,WAAW,GAAG;QAClB,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC;KAC/D,CAAC;IAEF,IAAI,QAAiC,CAAC;IACtC,IAAI,YAAY,EAAE,CAAC;QACjB,qFAAqF;QACrF,QAAQ,GAAG;YACT,WAAW;YACX,GAAG,EAAE,EAAE,oBAAoB,EAAE,YAAY,EAAE;YAC3C,KAAK;SACN,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,qEAAqE;QACrE,QAAQ,GAAG;YACT,WAAW;YACX,YAAY,EAAE,uFAAuF;YACrG,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClG,KAAK;SACN,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAEpG,+EAA+E;AACjF,CAAC"}
1
+ {"version":3,"file":"claude-env.js","sourceRoot":"","sources":["../../src/utils/claude-env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCpB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAA+B;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IACrD,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/C,qBAAqB;IACrB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACxD,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC7C,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAElC,MAAM,YAAY,GAAG,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC;IACrD,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAE3D,MAAM,KAAK,GAAG;QACZ,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC5C,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACnD,IAAI,EAAE;YACJ;gBACE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC;aACnF;SACF;QACD,YAAY,EAAE;YACZ;gBACE,OAAO,EAAE,mBAAmB;gBAC5B,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,mDAAmD,EAAE,CAAC;aAC3F;SACF;KACF,CAAC;IAEF,MAAM,WAAW,GAAG;QAClB,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC;KAC/D,CAAC;IAEF,IAAI,QAAiC,CAAC;IACtC,IAAI,YAAY,EAAE,CAAC;QACjB,qFAAqF;QACrF,QAAQ,GAAG;YACT,WAAW;YACX,GAAG,EAAE,EAAE,oBAAoB,EAAE,YAAY,EAAE;YAC3C,KAAK;SACN,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,qEAAqE;QACrE,QAAQ,GAAG;YACT,WAAW;YACX,YAAY,EACV,uFAAuF;YACzF,GAAG,CAAC,OAAO,CAAC,kBAAkB;gBAC5B,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,EAAE,EAAE;gBAC7D,CAAC,CAAC,EAAE,CAAC;YACP,KAAK;SACN,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EACrC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CACzC,CAAC;IAEF,+EAA+E;AACjF,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Allowlist of config paths from the backend bootstrap payload that are safe to
3
+ * merge into a standalone user's existing openclaw.json.
4
+ *
5
+ * Each entry is a dot-separated path into `data.openclawConfig`. For dict-typed
6
+ * values (e.g. `mcpServers`), merging happens KEY-by-KEY — missing keys are
7
+ * added, conflicting keys keep the local value. For leaf-ish subtrees
8
+ * (e.g. `tools.media.audio`), the whole subtree is either written (local
9
+ * missing) or skipped on conflict (local differs). Paths NOT in this list are
10
+ * never touched, even if the remote bootstrap includes them.
11
+ *
12
+ * To extend: add the path here. Keep it tight — every entry is an implicit
13
+ * promise that merging it won't clobber user work.
14
+ */
15
+ export declare const MERGEABLE_CONFIG_PATHS: readonly string[];
16
+ /**
17
+ * Paths within ~/.claude/settings.json that are safe to merge from a backend
18
+ * envVars/settings payload. Everything else (apiKeyHelper, permissions, hooks,
19
+ * user-owned keys) is left untouched.
20
+ */
21
+ export declare const MERGEABLE_SETTINGS_PATHS: readonly string[];
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Allowlist of config paths from the backend bootstrap payload that are safe to
3
+ * merge into a standalone user's existing openclaw.json.
4
+ *
5
+ * Each entry is a dot-separated path into `data.openclawConfig`. For dict-typed
6
+ * values (e.g. `mcpServers`), merging happens KEY-by-KEY — missing keys are
7
+ * added, conflicting keys keep the local value. For leaf-ish subtrees
8
+ * (e.g. `tools.media.audio`), the whole subtree is either written (local
9
+ * missing) or skipped on conflict (local differs). Paths NOT in this list are
10
+ * never touched, even if the remote bootstrap includes them.
11
+ *
12
+ * To extend: add the path here. Keep it tight — every entry is an implicit
13
+ * promise that merging it won't clobber user work.
14
+ */
15
+ export const MERGEABLE_CONFIG_PATHS = [
16
+ 'mcpServers',
17
+ 'tools.media.audio',
18
+ 'tools.media.voice',
19
+ 'tools.transcription',
20
+ ];
21
+ /**
22
+ * Paths within ~/.claude/settings.json that are safe to merge from a backend
23
+ * envVars/settings payload. Everything else (apiKeyHelper, permissions, hooks,
24
+ * user-owned keys) is left untouched.
25
+ */
26
+ export const MERGEABLE_SETTINGS_PATHS = ['mcpServers', 'env'];
27
+ //# sourceMappingURL=config-merge-paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-merge-paths.js","sourceRoot":"","sources":["../../src/utils/config-merge-paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAsB;IACvD,YAAY;IACZ,mBAAmB;IACnB,mBAAmB;IACnB,qBAAqB;CACb,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAsB,CAAC,YAAY,EAAE,KAAK,CAAU,CAAC"}
package/dist/utils/env.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { config, requireConfig } from '../config.js';
1
2
  export function requireEnv(name) {
2
3
  const value = process.env[name];
3
4
  if (!value) {
@@ -7,6 +8,6 @@ export function requireEnv(name) {
7
8
  return value;
8
9
  }
9
10
  export function getBackendUrl() {
10
- return process.env.BACKEND_URL || process.env.BACKEND_INTERNAL_URL || requireEnv('BACKEND_URL');
11
+ return config.backendUrl ?? requireConfig('backendUrl');
11
12
  }
12
13
  //# sourceMappingURL=env.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/utils/env.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,0CAA0C,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC;AAClG,CAAC"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/utils/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,0CAA0C,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,MAAM,CAAC,UAAU,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,66 @@
1
+ import { EventEmitter } from 'node:events';
2
+ export interface Entity {
3
+ name: string;
4
+ entityType: string;
5
+ observations: string[];
6
+ }
7
+ export interface Relation {
8
+ from: string;
9
+ to: string;
10
+ relationType: string;
11
+ }
12
+ export interface Graph {
13
+ entities: Entity[];
14
+ relations: Relation[];
15
+ }
16
+ export interface ObservationInput {
17
+ entityName: string;
18
+ contents: string[];
19
+ }
20
+ export interface ObservationResult {
21
+ entityName: string;
22
+ addedObservations: string[];
23
+ }
24
+ export interface ObservationDeletion {
25
+ entityName: string;
26
+ observations: string[];
27
+ }
28
+ export type MemoryDeltaAction = 'entities_created' | 'relations_created' | 'observations_added' | 'entities_deleted' | 'observations_deleted' | 'relations_deleted';
29
+ export interface MemoryDelta {
30
+ action: MemoryDeltaAction;
31
+ data: unknown;
32
+ }
33
+ /**
34
+ * In-memory knowledge graph with atomic persistence.
35
+ *
36
+ * Ported from @modelcontextprotocol/server-memory with key differences:
37
+ * - Graph stays in memory (this.graph), loaded once at init()
38
+ * - All mutations operate on this.graph, then call persist()
39
+ * - persist() uses atomic write: write to .tmp file, then fs.rename()
40
+ * - Extends EventEmitter, emits 'delta' event after each mutation
41
+ * - Query methods (readGraph, searchNodes, openNodes) are synchronous
42
+ */
43
+ export declare class KnowledgeGraphManager extends EventEmitter {
44
+ private memoryFilePath;
45
+ private graph;
46
+ private persistQueue;
47
+ constructor(memoryFilePath: string);
48
+ /** Load graph from disk into memory. Call once at startup. */
49
+ init(): Promise<void>;
50
+ private readGraphFromDisk;
51
+ /** Serialized persist: enqueues writes so concurrent calls never interleave. */
52
+ private persist;
53
+ /** Atomic persist: write to .tmp, then fs.rename(). */
54
+ private doPersist;
55
+ /** Emit delta event after mutation (for sync to backend). */
56
+ private emitDelta;
57
+ createEntities(entities: Entity[]): Promise<Entity[]>;
58
+ createRelations(relations: Relation[]): Promise<Relation[]>;
59
+ addObservations(observations: ObservationInput[]): Promise<ObservationResult[]>;
60
+ deleteEntities(names: string[]): Promise<void>;
61
+ deleteObservations(deletions: ObservationDeletion[]): Promise<void>;
62
+ deleteRelations(relations: Relation[]): Promise<void>;
63
+ readGraph(): Graph;
64
+ searchNodes(query: string): Graph;
65
+ openNodes(names: string[]): Graph;
66
+ }
@@ -0,0 +1,163 @@
1
+ import { promises as fs } from 'node:fs';
2
+ import path from 'node:path';
3
+ import { EventEmitter } from 'node:events';
4
+ // ---------------------------------------------------------------------------
5
+ // KnowledgeGraphManager
6
+ // ---------------------------------------------------------------------------
7
+ /**
8
+ * In-memory knowledge graph with atomic persistence.
9
+ *
10
+ * Ported from @modelcontextprotocol/server-memory with key differences:
11
+ * - Graph stays in memory (this.graph), loaded once at init()
12
+ * - All mutations operate on this.graph, then call persist()
13
+ * - persist() uses atomic write: write to .tmp file, then fs.rename()
14
+ * - Extends EventEmitter, emits 'delta' event after each mutation
15
+ * - Query methods (readGraph, searchNodes, openNodes) are synchronous
16
+ */
17
+ export class KnowledgeGraphManager extends EventEmitter {
18
+ memoryFilePath;
19
+ graph = { entities: [], relations: [] };
20
+ persistQueue = Promise.resolve();
21
+ constructor(memoryFilePath) {
22
+ super();
23
+ this.memoryFilePath = memoryFilePath;
24
+ }
25
+ /** Load graph from disk into memory. Call once at startup. */
26
+ async init() {
27
+ this.graph = await this.readGraphFromDisk();
28
+ }
29
+ // -------------------------------------------------------------------------
30
+ // Disk I/O
31
+ // -------------------------------------------------------------------------
32
+ async readGraphFromDisk() {
33
+ try {
34
+ const data = await fs.readFile(this.memoryFilePath, 'utf-8');
35
+ const lines = data.split('\n').filter((line) => line.trim() !== '');
36
+ return lines.reduce((graph, line) => {
37
+ const item = JSON.parse(line);
38
+ if (item.type === 'entity') {
39
+ graph.entities.push({
40
+ name: item.name,
41
+ entityType: item.entityType,
42
+ observations: item.observations,
43
+ });
44
+ }
45
+ if (item.type === 'relation') {
46
+ graph.relations.push({
47
+ from: item.from,
48
+ to: item.to,
49
+ relationType: item.relationType,
50
+ });
51
+ }
52
+ return graph;
53
+ }, { entities: [], relations: [] });
54
+ }
55
+ catch (error) {
56
+ if (error?.code === 'ENOENT') {
57
+ return { entities: [], relations: [] };
58
+ }
59
+ throw error;
60
+ }
61
+ }
62
+ /** Serialized persist: enqueues writes so concurrent calls never interleave. */
63
+ persist() {
64
+ this.persistQueue = this.persistQueue.then(() => this.doPersist()).catch(() => { });
65
+ return this.persistQueue;
66
+ }
67
+ /** Atomic persist: write to .tmp, then fs.rename(). */
68
+ async doPersist() {
69
+ const lines = [
70
+ ...this.graph.entities.map((e) => JSON.stringify({
71
+ type: 'entity',
72
+ name: e.name,
73
+ entityType: e.entityType,
74
+ observations: e.observations,
75
+ })),
76
+ ...this.graph.relations.map((r) => JSON.stringify({ type: 'relation', from: r.from, to: r.to, relationType: r.relationType })),
77
+ ];
78
+ const tmpPath = this.memoryFilePath + '.tmp';
79
+ await fs.mkdir(path.dirname(this.memoryFilePath), { recursive: true });
80
+ await fs.writeFile(tmpPath, lines.join('\n'));
81
+ await fs.rename(tmpPath, this.memoryFilePath);
82
+ }
83
+ /** Emit delta event after mutation (for sync to backend). */
84
+ emitDelta(action, data) {
85
+ this.emit('delta', { action, data });
86
+ }
87
+ // -------------------------------------------------------------------------
88
+ // Mutations — operate on this.graph, persist, emit delta
89
+ // -------------------------------------------------------------------------
90
+ async createEntities(entities) {
91
+ const newEntities = entities.filter((e) => !this.graph.entities.some((existing) => existing.name === e.name));
92
+ this.graph.entities.push(...newEntities);
93
+ await this.persist();
94
+ this.emitDelta('entities_created', newEntities);
95
+ return newEntities;
96
+ }
97
+ async createRelations(relations) {
98
+ const newRelations = relations.filter((r) => !this.graph.relations.some((existing) => existing.from === r.from &&
99
+ existing.to === r.to &&
100
+ existing.relationType === r.relationType));
101
+ this.graph.relations.push(...newRelations);
102
+ await this.persist();
103
+ this.emitDelta('relations_created', newRelations);
104
+ return newRelations;
105
+ }
106
+ async addObservations(observations) {
107
+ const results = observations.map((o) => {
108
+ const entity = this.graph.entities.find((e) => e.name === o.entityName);
109
+ if (!entity) {
110
+ throw new Error(`Entity with name ${o.entityName} not found`);
111
+ }
112
+ const newObservations = o.contents.filter((content) => !entity.observations.includes(content));
113
+ entity.observations.push(...newObservations);
114
+ return { entityName: o.entityName, addedObservations: newObservations };
115
+ });
116
+ await this.persist();
117
+ this.emitDelta('observations_added', results);
118
+ return results;
119
+ }
120
+ async deleteEntities(names) {
121
+ this.graph.entities = this.graph.entities.filter((e) => !names.includes(e.name));
122
+ this.graph.relations = this.graph.relations.filter((r) => !names.includes(r.from) && !names.includes(r.to));
123
+ await this.persist();
124
+ this.emitDelta('entities_deleted', names);
125
+ }
126
+ async deleteObservations(deletions) {
127
+ deletions.forEach((d) => {
128
+ const entity = this.graph.entities.find((e) => e.name === d.entityName);
129
+ if (entity) {
130
+ entity.observations = entity.observations.filter((o) => !d.observations.includes(o));
131
+ }
132
+ });
133
+ await this.persist();
134
+ this.emitDelta('observations_deleted', deletions);
135
+ }
136
+ async deleteRelations(relations) {
137
+ this.graph.relations = this.graph.relations.filter((r) => !relations.some((del) => r.from === del.from && r.to === del.to && r.relationType === del.relationType));
138
+ await this.persist();
139
+ this.emitDelta('relations_deleted', relations);
140
+ }
141
+ // -------------------------------------------------------------------------
142
+ // Queries — read from this.graph in-memory, no disk I/O
143
+ // -------------------------------------------------------------------------
144
+ readGraph() {
145
+ return this.graph;
146
+ }
147
+ searchNodes(query) {
148
+ const lowerQuery = query.toLowerCase();
149
+ const filteredEntities = this.graph.entities.filter((e) => e.name.toLowerCase().includes(lowerQuery) ||
150
+ e.entityType.toLowerCase().includes(lowerQuery) ||
151
+ e.observations.some((o) => o.toLowerCase().includes(lowerQuery)));
152
+ const filteredEntityNames = new Set(filteredEntities.map((e) => e.name));
153
+ const filteredRelations = this.graph.relations.filter((r) => filteredEntityNames.has(r.from) && filteredEntityNames.has(r.to));
154
+ return { entities: filteredEntities, relations: filteredRelations };
155
+ }
156
+ openNodes(names) {
157
+ const filteredEntities = this.graph.entities.filter((e) => names.includes(e.name));
158
+ const filteredEntityNames = new Set(filteredEntities.map((e) => e.name));
159
+ const filteredRelations = this.graph.relations.filter((r) => filteredEntityNames.has(r.from) && filteredEntityNames.has(r.to));
160
+ return { entities: filteredEntities, relations: filteredRelations };
161
+ }
162
+ }
163
+ //# sourceMappingURL=knowledge-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-graph.js","sourceRoot":"","sources":["../../src/utils/knowledge-graph.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,5 @@
1
+ import { config } from '../config.js';
1
2
  export function getReleaseChannel() {
2
- const raw = process.env.AC_RELEASE_CHANNEL?.trim().toLowerCase();
3
- if (raw === 'beta')
4
- return 'beta';
5
- return 'stable';
3
+ return config.releaseChannel;
6
4
  }
7
5
  //# sourceMappingURL=release-channel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"release-channel.js","sourceRoot":"","sources":["../../src/utils/release-channel.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,iBAAiB;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACjE,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAClC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"release-channel.js","sourceRoot":"","sources":["../../src/utils/release-channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAYtC,MAAM,UAAU,iBAAiB;IAC/B,OAAO,MAAM,CAAC,cAAc,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Write a map of workspace-relative paths → content into `workspaceDir`.
3
+ *
4
+ * Mirrors the exact behavior of the original inline block in `commands/bootstrap.ts`:
5
+ * - Creates parent directories recursively.
6
+ * - Writes each file as UTF-8.
7
+ * - `chmod 0o755` on any path ending in `.sh`.
8
+ * - Logs per-file success/failure and a skill-deployment summary.
9
+ * - Never throws on a single file's write error — logs and continues.
10
+ *
11
+ * Used by both the bootstrap CLI (one-shot startup) and the live `update_config`
12
+ * command path in `applyBootstrapConfig` (propagates shared-file updates from
13
+ * the backend without requiring a restart).
14
+ */
15
+ export declare function writeWorkspaceFiles(files: Record<string, string>, workspaceDir: string): Promise<void>;
@@ -0,0 +1,48 @@
1
+ import fs from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ /**
4
+ * Write a map of workspace-relative paths → content into `workspaceDir`.
5
+ *
6
+ * Mirrors the exact behavior of the original inline block in `commands/bootstrap.ts`:
7
+ * - Creates parent directories recursively.
8
+ * - Writes each file as UTF-8.
9
+ * - `chmod 0o755` on any path ending in `.sh`.
10
+ * - Logs per-file success/failure and a skill-deployment summary.
11
+ * - Never throws on a single file's write error — logs and continues.
12
+ *
13
+ * Used by both the bootstrap CLI (one-shot startup) and the live `update_config`
14
+ * command path in `applyBootstrapConfig` (propagates shared-file updates from
15
+ * the backend without requiring a restart).
16
+ */
17
+ export async function writeWorkspaceFiles(files, workspaceDir) {
18
+ const fileNames = Object.keys(files);
19
+ if (fileNames.length === 0)
20
+ return;
21
+ await fs.mkdir(workspaceDir, { recursive: true });
22
+ for (const [filePath, content] of Object.entries(files)) {
23
+ const fullPath = path.join(workspaceDir, filePath);
24
+ await fs.mkdir(path.dirname(fullPath), { recursive: true });
25
+ try {
26
+ await fs.writeFile(fullPath, content);
27
+ console.log(` ✓ ${filePath}`);
28
+ }
29
+ catch (err) {
30
+ console.error(` ✗ ${filePath}: ${err instanceof Error ? err.message : err}`);
31
+ }
32
+ }
33
+ // Make .sh files executable
34
+ for (const filePath of fileNames) {
35
+ if (filePath.endsWith('.sh')) {
36
+ const fullPath = path.join(workspaceDir, filePath);
37
+ await fs.chmod(fullPath, 0o755);
38
+ }
39
+ }
40
+ // Summary for deployed skills (under .agents/skills/<name>/...)
41
+ const skillFiles = fileNames.filter((f) => f.startsWith('.agents/skills/'));
42
+ if (skillFiles.length > 0) {
43
+ const skills = [...new Set(skillFiles.map((f) => f.split('/')[2]))];
44
+ console.log(` ✓ skills deployed: ${skills.join(', ')}`);
45
+ }
46
+ console.log(` wrote ${fileNames.length} workspace files`);
47
+ }
48
+ //# sourceMappingURL=write-workspace-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-workspace-files.js","sourceRoot":"","sources":["../../src/utils/write-workspace-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAA6B,EAC7B,YAAoB;IAEpB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEnC,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAElD,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACnD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,OAAO,QAAQ,EAAE,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,OAAO,QAAQ,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YACnD,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC5E,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,wBAAwB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,WAAW,SAAS,CAAC,MAAM,kBAAkB,CAAC,CAAC;AAC7D,CAAC"}
package/dist/workspace.js CHANGED
@@ -1,5 +1,5 @@
1
- import os from 'node:os';
2
1
  import path from 'node:path';
2
+ import { config } from './config.js';
3
3
  /**
4
4
  * Returns the canonical workspace directory.
5
5
  *
@@ -12,9 +12,8 @@ import path from 'node:path';
12
12
  * (which used WORKSPACE_DIR) and backup/knowledge_sync (which used OPENCLAW_STATE_DIR).
13
13
  */
14
14
  export function getWorkspaceDir() {
15
- if (process.env.WORKSPACE_DIR)
16
- return process.env.WORKSPACE_DIR.trim();
17
- const stateDir = process.env.OPENCLAW_STATE_DIR?.trim() ?? path.join(os.homedir(), '.openclaw');
18
- return path.join(stateDir, 'workspace');
15
+ if (config.workspaceDir)
16
+ return config.workspaceDir;
17
+ return path.join(config.stateDir, 'workspace');
19
18
  }
20
19
  //# sourceMappingURL=workspace.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe;IAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IACvE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;IAChG,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe;IAC7B,IAAI,MAAM,CAAC,YAAY;QAAE,OAAO,MAAM,CAAC,YAAY,CAAC;IACpD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AACjD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw-cloud/agent-controller",
3
- "version": "1.0.0-beta.2",
3
+ "version": "1.0.0-beta.20",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -11,7 +11,8 @@
11
11
  "prepublishOnly": "npm run build",
12
12
  "test": "node --experimental-vm-modules node_modules/.bin/jest --forceExit",
13
13
  "start": "node bin/agent-controller.js",
14
- "prepare": "[ -d .git ] && husky || true"
14
+ "prepare": "[ -d .git ] && husky || true",
15
+ "lint": "eslint --fix ./src"
15
16
  },
16
17
  "files": [
17
18
  "dist/",
@@ -29,15 +30,35 @@
29
30
  "@types/jest": "^30.0.0",
30
31
  "@types/node": "^25.2.3",
31
32
  "@types/ws": "^8.18.1",
33
+ "@typescript-eslint/eslint-plugin": "^8.58.0",
34
+ "@typescript-eslint/parser": "^8.58.0",
32
35
  "ajv": "^8.18.0",
36
+ "eslint": "^9.39.4",
37
+ "eslint-config-prettier": "^10.1.8",
38
+ "eslint-import-resolver-typescript": "^4.4.4",
39
+ "eslint-plugin-import-x": "^4.16.2",
40
+ "eslint-plugin-prettier": "^5.5.5",
41
+ "eslint-plugin-unused-imports": "^4.4.1",
33
42
  "husky": "^9.1.7",
34
43
  "jest": "^30.2.0",
44
+ "prettier": "^3.8.1",
35
45
  "semantic-release": "^24.0.0",
36
46
  "ts-jest": "^29.4.6",
37
- "typescript": "^5.9.3"
47
+ "typescript": "^5.9.3",
48
+ "typescript-eslint": "^8.58.0"
38
49
  },
39
50
  "publishConfig": {
40
51
  "access": "public",
41
52
  "registry": "https://registry.npmjs.org/"
53
+ },
54
+ "prettier": {
55
+ "semi": true,
56
+ "arrowParens": "always",
57
+ "singleQuote": true,
58
+ "bracketSpacing": true,
59
+ "printWidth": 100,
60
+ "quoteProps": "consistent",
61
+ "trailingComma": "all",
62
+ "tabWidth": 2
42
63
  }
43
64
  }