neoagent 2.3.1-beta.87 → 2.3.1-beta.89

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.
@@ -1,4 +1,5 @@
1
1
  const Database = require('better-sqlite3');
2
+ const fs = require('fs');
2
3
  const path = require('path');
3
4
  const { randomUUID } = require('crypto');
4
5
  const { DATA_DIR, ensureRuntimeDirs } = require('../../runtime/paths');
@@ -9,11 +10,48 @@ const {
9
10
  ensureRuntimeDirs();
10
11
 
11
12
  const DB_PATH = path.join(DATA_DIR, 'neoagent.db');
12
- const db = new Database(DB_PATH);
13
13
 
14
- db.pragma('journal_mode = WAL');
15
- db.pragma('foreign_keys = ON');
16
- db.pragma('busy_timeout = 5000');
14
+ function removeWalSidecars(dbPath) {
15
+ for (const suffix of ['-wal', '-shm']) {
16
+ try {
17
+ fs.rmSync(`${dbPath}${suffix}`, { force: true });
18
+ } catch {}
19
+ }
20
+ }
21
+
22
+ function initializeDatabase(db, dbPath) {
23
+ try {
24
+ db.pragma('journal_mode = WAL');
25
+ } catch (error) {
26
+ console.warn(
27
+ `[Database] Failed to enable WAL for ${dbPath}: ${error.message}. ` +
28
+ 'Retrying after clearing WAL sidecar files.',
29
+ );
30
+ try {
31
+ db.close();
32
+ } catch {}
33
+
34
+ removeWalSidecars(dbPath);
35
+
36
+ db = new Database(dbPath);
37
+ try {
38
+ db.pragma('journal_mode = WAL');
39
+ } catch (retryError) {
40
+ console.warn(
41
+ `[Database] WAL is unavailable for ${dbPath}: ${retryError.message}. ` +
42
+ 'Falling back to DELETE journal mode.',
43
+ );
44
+ db.pragma('journal_mode = DELETE');
45
+ }
46
+ }
47
+
48
+ db.pragma('foreign_keys = ON');
49
+ db.pragma('busy_timeout = 5000');
50
+ return db;
51
+ }
52
+
53
+ let db = new Database(DB_PATH);
54
+ db = initializeDatabase(db, DB_PATH);
17
55
 
18
56
  db.exec(`
19
57
  CREATE TABLE IF NOT EXISTS users (
@@ -5,7 +5,7 @@ const fs = require('fs');
5
5
  const os = require('os');
6
6
  const path = require('path');
7
7
  const { CLIExecutor } = require('./services/cli/executor');
8
- const { RUNTIME_HOME } = require('../runtime/paths');
8
+ const { RUNTIME_HOME, DATA_DIR } = require('../runtime/paths');
9
9
 
10
10
  const PORT = Number(process.env.NEOAGENT_GUEST_AGENT_PORT || 8421);
11
11
  function resolveGuestToken() {
@@ -71,6 +71,13 @@ function sanitizeError(err) {
71
71
 
72
72
  function resolveReadablePath(filePath) {
73
73
  try {
74
+ const rawPath = String(filePath || '').trim();
75
+ if (/^\/screenshots\//.test(rawPath)) {
76
+ const fileName = path.basename(rawPath);
77
+ const screenshotPath = path.join(DATA_DIR, 'screenshots', fileName);
78
+ const realScreenshotPath = fs.realpathSync.native(screenshotPath);
79
+ return isInsideAllowedRoots(realScreenshotPath) ? realScreenshotPath : null;
80
+ }
74
81
  const resolved = path.resolve(String(filePath || ''));
75
82
  const realTarget = fs.realpathSync.native(resolved);
76
83
  return isInsideAllowedRoots(realTarget) ? realTarget : null;
@@ -1 +1 @@
1
- 1009faa3470f07884870d6f46bd7cd4d
1
+ 565ea9475bb1a5c2efca6dc427d87b38
@@ -1978,6 +1978,52 @@ distributed under the License is distributed on an "AS IS" BASIS,
1978
1978
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1979
1979
  See the License for the specific language governing permissions and
1980
1980
  limitations under the License.
1981
+ --------------------------------------------------------------------------------
1982
+ cross_file
1983
+ flutter_plugin_android_lifecycle
1984
+ google_fonts
1985
+ path_provider_android
1986
+ path_provider_foundation
1987
+ shared_preferences
1988
+ shared_preferences_android
1989
+ shared_preferences_foundation
1990
+ shared_preferences_platform_interface
1991
+ url_launcher_android
1992
+ url_launcher_ios
1993
+ url_launcher_linux
1994
+ url_launcher_macos
1995
+ url_launcher_windows
1996
+ video_player
1997
+ video_player_android
1998
+ video_player_avfoundation
1999
+ video_player_platform_interface
2000
+
2001
+ Copyright 2013 The Flutter Authors
2002
+
2003
+ Redistribution and use in source and binary forms, with or without modification,
2004
+ are permitted provided that the following conditions are met:
2005
+
2006
+ * Redistributions of source code must retain the above copyright
2007
+ notice, this list of conditions and the following disclaimer.
2008
+ * Redistributions in binary form must reproduce the above
2009
+ copyright notice, this list of conditions and the following
2010
+ disclaimer in the documentation and/or other materials provided
2011
+ with the distribution.
2012
+ * Neither the name of Google Inc. nor the names of its
2013
+ contributors may be used to endorse or promote products derived
2014
+ from this software without specific prior written permission.
2015
+
2016
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
2017
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
2018
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
2019
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
2020
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
2021
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
2022
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
2023
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2024
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
2025
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2026
+
1981
2027
  --------------------------------------------------------------------------------
1982
2028
  crypto
1983
2029
  vm_service
@@ -4985,6 +5031,30 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
4985
5031
  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
4986
5032
  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4987
5033
  --------------------------------------------------------------------------------
5034
+ file_picker
5035
+
5036
+ MIT License
5037
+
5038
+ Copyright (c) 2018 Miguel Ruivo
5039
+
5040
+ Permission is hereby granted, free of charge, to any person obtaining a copy
5041
+ of this software and associated documentation files (the "Software"), to deal
5042
+ in the Software without restriction, including without limitation the rights
5043
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
5044
+ copies of the Software, and to permit persons to whom the Software is
5045
+ furnished to do so, subject to the following conditions:
5046
+
5047
+ The above copyright notice and this permission notice shall be included in all
5048
+ copies or substantial portions of the Software.
5049
+
5050
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
5051
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
5052
+ FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
5053
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
5054
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
5055
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
5056
+ SOFTWARE.
5057
+ --------------------------------------------------------------------------------
4988
5058
  fixnum
4989
5059
  stack_trace
4990
5060
 
@@ -10866,50 +10936,6 @@ distributed under the License is distributed on an "AS IS" BASIS,
10866
10936
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10867
10937
  See the License for the specific language governing permissions and
10868
10938
  limitations under the License.
10869
- --------------------------------------------------------------------------------
10870
- google_fonts
10871
- path_provider_android
10872
- path_provider_foundation
10873
- shared_preferences
10874
- shared_preferences_android
10875
- shared_preferences_foundation
10876
- shared_preferences_platform_interface
10877
- url_launcher_android
10878
- url_launcher_ios
10879
- url_launcher_linux
10880
- url_launcher_macos
10881
- url_launcher_windows
10882
- video_player
10883
- video_player_android
10884
- video_player_avfoundation
10885
- video_player_platform_interface
10886
-
10887
- Copyright 2013 The Flutter Authors
10888
-
10889
- Redistribution and use in source and binary forms, with or without modification,
10890
- are permitted provided that the following conditions are met:
10891
-
10892
- * Redistributions of source code must retain the above copyright
10893
- notice, this list of conditions and the following disclaimer.
10894
- * Redistributions in binary form must reproduce the above
10895
- copyright notice, this list of conditions and the following
10896
- disclaimer in the documentation and/or other materials provided
10897
- with the distribution.
10898
- * Neither the name of Google Inc. nor the names of its
10899
- contributors may be used to endorse or promote products derived
10900
- from this software without specific prior written permission.
10901
-
10902
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
10903
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
10904
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
10905
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
10906
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
10907
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
10908
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
10909
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
10910
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
10911
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
10912
-
10913
10939
  --------------------------------------------------------------------------------
10914
10940
  gtest-parallel
10915
10941
 
@@ -37,6 +37,6 @@ _flutter.buildConfig = {"engineRevision":"42d3d75a56efe1a2e9902f52dc8006099c45d9
37
37
 
38
38
  _flutter.loader.load({
39
39
  serviceWorkerSettings: {
40
- serviceWorkerVersion: "1661842067" /* Flutter's service worker is deprecated and will be removed in a future Flutter release. */
40
+ serviceWorkerVersion: "2533429045" /* Flutter's service worker is deprecated and will be removed in a future Flutter release. */
41
41
  }
42
42
  });
@@ -32,7 +32,6 @@
32
32
 
33
33
  <title>NeoAgent</title>
34
34
  <link rel="manifest" href="manifest.json">
35
- <script src="https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js"></script>
36
35
  </head>
37
36
  <body>
38
37
  <script src="flutter_bootstrap.js" async></script>