@coralai/sps-cli 0.65.87 → 0.65.91

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 (64) hide show
  1. package/dist/console/index.d.ts.map +1 -1
  2. package/dist/console/index.js +2 -0
  3. package/dist/console/index.js.map +1 -1
  4. package/dist/console/lib/artPaths.d.ts +5 -5
  5. package/dist/console/lib/artPaths.d.ts.map +1 -1
  6. package/dist/console/lib/artPaths.js +8 -26
  7. package/dist/console/lib/artPaths.js.map +1 -1
  8. package/dist/console/routes/storage.d.ts +21 -0
  9. package/dist/console/routes/storage.d.ts.map +1 -0
  10. package/dist/console/routes/storage.js +115 -0
  11. package/dist/console/routes/storage.js.map +1 -0
  12. package/dist/core/pathFence.d.ts +20 -0
  13. package/dist/core/pathFence.d.ts.map +1 -0
  14. package/dist/core/pathFence.js +60 -0
  15. package/dist/core/pathFence.js.map +1 -0
  16. package/dist/daemon/sessionDaemon.d.ts +1 -0
  17. package/dist/daemon/sessionDaemon.d.ts.map +1 -1
  18. package/dist/daemon/sessionDaemon.js +6 -0
  19. package/dist/daemon/sessionDaemon.js.map +1 -1
  20. package/dist/daemon/storageSyncLoop.d.ts +9 -0
  21. package/dist/daemon/storageSyncLoop.d.ts.map +1 -0
  22. package/dist/daemon/storageSyncLoop.js +70 -0
  23. package/dist/daemon/storageSyncLoop.js.map +1 -0
  24. package/dist/providers/storage/FakeStorage.d.ts +14 -0
  25. package/dist/providers/storage/FakeStorage.d.ts.map +1 -0
  26. package/dist/providers/storage/FakeStorage.js +33 -0
  27. package/dist/providers/storage/FakeStorage.js.map +1 -0
  28. package/dist/providers/storage/MinioBackend.d.ts +31 -0
  29. package/dist/providers/storage/MinioBackend.d.ts.map +1 -0
  30. package/dist/providers/storage/MinioBackend.js +60 -0
  31. package/dist/providers/storage/MinioBackend.js.map +1 -0
  32. package/dist/providers/storage/StorageBackend.d.ts +43 -0
  33. package/dist/providers/storage/StorageBackend.d.ts.map +1 -0
  34. package/dist/providers/storage/StorageBackend.js +29 -0
  35. package/dist/providers/storage/StorageBackend.js.map +1 -0
  36. package/dist/providers/storage/keys.d.ts +33 -0
  37. package/dist/providers/storage/keys.d.ts.map +1 -0
  38. package/dist/providers/storage/keys.js +52 -0
  39. package/dist/providers/storage/keys.js.map +1 -0
  40. package/dist/providers/storage/scanWorkspace.d.ts +56 -0
  41. package/dist/providers/storage/scanWorkspace.d.ts.map +1 -0
  42. package/dist/providers/storage/scanWorkspace.js +205 -0
  43. package/dist/providers/storage/scanWorkspace.js.map +1 -0
  44. package/dist/providers/storage/storageConfig.d.ts +46 -0
  45. package/dist/providers/storage/storageConfig.d.ts.map +1 -0
  46. package/dist/providers/storage/storageConfig.js +94 -0
  47. package/dist/providers/storage/storageConfig.js.map +1 -0
  48. package/dist/providers/storage/syncProject.d.ts +67 -0
  49. package/dist/providers/storage/syncProject.d.ts.map +1 -0
  50. package/dist/providers/storage/syncProject.js +136 -0
  51. package/dist/providers/storage/syncProject.js.map +1 -0
  52. package/dist/providers/storage/syncRunner.d.ts +59 -0
  53. package/dist/providers/storage/syncRunner.d.ts.map +1 -0
  54. package/dist/providers/storage/syncRunner.js +119 -0
  55. package/dist/providers/storage/syncRunner.js.map +1 -0
  56. package/dist/providers/storage/syncScope.d.ts +25 -0
  57. package/dist/providers/storage/syncScope.d.ts.map +1 -0
  58. package/dist/providers/storage/syncScope.js +68 -0
  59. package/dist/providers/storage/syncScope.js.map +1 -0
  60. package/dist/providers/storage/syncable.d.ts +47 -0
  61. package/dist/providers/storage/syncable.d.ts.map +1 -0
  62. package/dist/providers/storage/syncable.js +84 -0
  63. package/dist/providers/storage/syncable.js.map +1 -0
  64. package/package.json +6 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/console/index.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,KAAK,UAAU,EAAS,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AA2ChD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AA2BD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,mBAAmB,CAAC,CA6S9B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAwC1D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/console/index.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,KAAK,UAAU,EAAS,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AA4ChD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AA2BD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,mBAAmB,CAAC,CA8S9B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAwC1D"}
@@ -51,6 +51,7 @@ import { createGraphRoute } from './routes/graph.js';
51
51
  import { createPromptsRoute } from './routes/prompts.js';
52
52
  import { createRulesRoute } from './routes/rules.js';
53
53
  import { createSkillsRoute } from './routes/skills.js';
54
+ import { createStorageRoute } from './routes/storage.js';
54
55
  import { createSystemRoute } from './routes/system.js';
55
56
  import { createMemoryRoute } from './routes/memory.js';
56
57
  import { createProvidersRoute } from './routes/providers.js';
@@ -197,6 +198,7 @@ export async function startConsoleServer(opts) {
197
198
  app.route('/api/logs', createLogsRoute(services.logs, services.workers));
198
199
  app.route('/api/skills', createSkillsRoute(services.skills, services.agentGen));
199
200
  app.route('/api/templates', createTemplatesRoute());
201
+ app.route('/api/storage', createStorageRoute());
200
202
  app.route('/api/rules', createRulesRoute(services.rules));
201
203
  app.route('/api/channels', createChannelsRoute());
202
204
  app.route('/api/tts', createTtsRoute());
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/console/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAmB,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,qBAAqB,EAAuB,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,2BAA2B,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,aAAa,CAAC;AAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAe1D,SAAS,oBAAoB;IAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACpE,IAAI,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAAE,OAAO,UAAU,CAAC;IACrE,2FAA2F;IAC3F,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACtE,IAAI,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAAE,OAAO,WAAW,CAAC;IACvE,yEAAyE;IACzE,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC3D,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC;IAC/D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,qFAAqF;AACrF,SAAS,iBAAiB;IACxB,MAAM,UAAU,GAAG;QACjB,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa,CAAC,EAAE,yBAAyB;QAClE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC;QAC7C,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,SAAS;KAC7E,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAA0B;IAE1B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAE7B,oEAAoE;IACpE,mDAAmD;IACnD,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,KAAK,CAAC;IAEzC,sEAAsE;IACtE,2CAA2C;IAC3C,kDAAkD;IAClD,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,eAAe,CAAC;QAC/B,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;KACnC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,iEAAiE;IACjE,yCAAyC;IACzC,MAAM,gBAAgB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACzC,4EAA4E;IAC5E,uDAAuD;IACvD,iDAAiD;IACjD,MAAM,yBAAyB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;IACnD,0EAA0E;IAC1E,0DAA0D;IAC1D,MAAM,yBAAyB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IAClD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC7B,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO,IAAI,EAAE,CAAC;QACrE,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;YAAE,OAAO,IAAI,EAAE,CAAC,CAAC,gBAAgB;QAC5E,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;YACnD,CAAC,CAAC,yBAAyB;YAC3B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBACvC,CAAC,CAAC,yBAAyB;gBAC3B,CAAC,CAAC,gBAAgB,CAAC;QACvB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;YACxC,OAAO,CAAC,CAAC,IAAI,CACX,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,KAAK,MAAM,EAAE,EACxC,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,MAAM;IACN,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,IAAI,EAAE,CAAC;QACb,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QAC9B,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,mEAAmE;IACnE,mDAAmD;IACnD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,2BAA2B,EAAE,CAAC,CAAC;IAE5C,gEAAgE;IAChE,4EAA4E;IAC5E,iFAAiF;IACjF,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAChD,IAAI,SAAS,EAAE,CAAC;QACd,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;YAC7B,0DAA0D;YAC1D,IAAI,SAAS,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,EAAE,CAAC;YAChC,mCAAmC;YACnC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;YACrB,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,OAAO,IAAI,EAAE,CAAC;YAC3D,oDAAoD;YACpD,0DAA0D;YAC1D,IAAI,CAAC,KAAK,aAAa;gBAAE,OAAO,IAAI,EAAE,CAAC;YACvC,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACnF,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACtC,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YAC5C,IAAI,SAAS,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBACjF,IAAI,QAAQ,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBACtD,SAAS,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;gBAC/G,CAAC;gBACD,OAAO,IAAI,EAAE,CAAC;YAChB,CAAC;YACD,iEAAiE;YACjE,+CAA+C;YAC/C,2CAA2C;YAC3C,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;YACD,OAAO,CAAC,CAAC,IAAI,CAAC,+CAA+C,EAAE,GAAG,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,GAAG,EAAE,CAAC;QACR,GAAG,CAAC,GAAG,CACL,QAAQ,EACR,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,uBAAuB,EAAE,uBAAuB,CAAC,EAAE,CAAC,CACrE,CAAC;QACF,GAAG,CAAC,GAAG,CACL,WAAW,EACX,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,uBAAuB,EAAE,uBAAuB,CAAC,EAAE,CAAC,CACrE,CAAC;IACJ,CAAC;IAED,8DAA8D;IAC9D,GAAG,CAAC,KAAK,CACP,eAAe,EACf,mBAAmB,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CACpF,CAAC;IACF,GAAG,CAAC,KAAK,CACP,eAAe,EACf,gBAAgB,CAAC;QACf,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,SAAS,EAAE,QAAQ,CAAC,SAAS;KAC9B,CAAC,CACH,CAAC;IACF,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACpE,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,eAAe,EAAE,CAAC,CAAC;IAC9C,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC9E,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,kBAAkB,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAChF,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,wBAAwB,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACtF,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,2BAA2B,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACxF,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACzE,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,iBAAiB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChF,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,CAAC,CAAC;IACpD,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAClD,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;IACxC,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,kBAAkB,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnF,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzD,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAClD,sDAAsD;IACtD,sDAAsD;IACtD,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,IAAI,aAAa,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IACnG,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;IACxC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,CAAC,CAAC;IACpD,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,yBAAyB,EAAE,CAAC,CAAC;IAC/D,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,sBAAsB,EAAE,CAAC,CAAC;IACzD,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACnD,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;IACtC,wDAAwD;IACxD,IAAI,cAAc,EAAE;QAAE,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAClE,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,CAAC,CAAC;IACpD,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAE5C,uEAAuE;IACvE,sDAAsD;IACtD,wFAAwF;IACxF,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,uBAAuB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3F,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACrD,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,sDAAsD;QACtD,MAAM,IAAI,GAAgB;YACxB,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;YACpB,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;SACpC,CAAC;QACF,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM;YAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACtF,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,eAAe,GAAG,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YAClE,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE;gBAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,EAAE,cAAc,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,kBAAkB,EAAE;aACnF,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,EAAE,GAAG,CAAC,CAAC;QACnE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,0FAA0F;IAC1F,mEAAmE;IACnE,gFAAgF;IAChF,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAE1G,wEAAwE;IACxE,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAEnD,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;IAE9D,8DAA8D;IAC9D,kDAAkD;IAClD,gDAAgD;IAChD,gDAAgD;IAChD,yDAAyD;IACzD,MAAM,WAAW,GAAG,CAAC,CAAyB,EAAE,EAAE,CAChD,CAAC,CAAC,IAAI,CACJ;QACE,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;QAClB,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE;QACpD,IAAI,EAAE,iBAAiB;KACxB,EACD,GAAG,CACJ,CAAC;IACJ,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC/B,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAElC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACrB,GAAG,CAAC,KAAK,CAAC,oBAAoB,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,CAAC,IAAI,CACX;YACE,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,uBAAuB;YAC9B,MAAM,EAAE,GAAG;YACX,MAAM,EAAE,GAAG,CAAC,OAAO;SACpB,EACD,GAAG,CACJ,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,sEAAsE;IACtE,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC;IACtD,IAAI,CAAC,GAAG,IAAI,SAAS,EAAE,CAAC;QACtB,uEAAuE;QACvE,2CAA2C;QAC3C,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;YAC5D,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9C,GAAG,CAAC,GAAG,CACL,SAAS,EACT,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAC5F,CAAC;YACF,+CAA+C;YAC/C,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;gBACvB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBAC1C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YAChG,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,qBAAqB,OAAO,WAAW,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;QAClE,2EAA2E;QAC3E,4EAA4E;QAC5E,MAAM,UAAU,GAAG,CAAC,CAAyB,EAAE,EAAE;YAC/C,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,qCAAqC,CAAC,CAAC;YACjE,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC;QACF,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACzB,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;QACnD,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC1B,GAAG,CAAC,IAAI,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;IACtD,CAAC;SAAM,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CACjB,CAAC,CAAC,IAAI,CAAC,oEAAoE,EAAE,GAAG,CAAC,CAClF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,6CAA6C;IAC7C,sCAAsC;IACtC,IAAI,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,GAAG,CAAC,IAAI,CAAC,oBAAoB,IAAI,iCAAiC,CAAC,CAAC;IACtE,CAAC;IAED,sDAAsD;IACtD,kEAAkE;IAClE,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAEvF,mEAAmE;IACnE,IAAI,cAAc,GAA0B,IAAI,CAAC;IACjD,IAAI,CAAC;QACH,cAAc,GAAG,qBAAqB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACvE,GAAG,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;IACvF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,IAAmB,EAAE;QACtC,IAAI,cAAc;YAAE,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC;QAEjD,MAAM,CAAC,GAAG,MAGT,CAAC;QACF,IAAI,CAAC;YACH,CAAC,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAC3B,CAAC,CAAC,mBAAmB,EAAE,EAAE,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;QAED,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE;gBACtB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC,CAAC;YACF,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;SAC9C,CAAC,CAAC;QACH,GAAG,CAAC,YAAY,EAAE,CAAC;IACrB,CAAC,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;QACjB,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;YAChC,KAAK,CAAC,UAAU;gBACd,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC9B,IAAI,MAAM,GAAG,KAAK,CAAC;gBACnB,MAAM,IAAI,GAAG,GAAS,EAAE;oBACtB,IAAI,MAAM;wBAAE,OAAO;oBACnB,UAAU,CAAC,OAAO,CAChB,GAAG,CAAC,MAAM,CACR,kCAAkC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,MAAM,CACpF,CACF,CAAC;gBACJ,CAAC,CAAC;gBACF,IAAI,EAAE,CAAC;gBACP,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC3C,sCAAsC;gBACtC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;gBACnB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;oBAC/C,MAAM,GAAG,IAAI,CAAC;oBACd,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACxB,IAAI,CAAC;wBACH,UAAU,CAAC,KAAK,EAAE,CAAC;oBACrB,CAAC;oBAAC,MAAM,CAAC;wBACP,YAAY;oBACd,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;QACH,8CAA8C;QAC9C,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE;YAC1B,OAAO,EAAE;gBACP,cAAc,EAAE,mBAAmB;gBACnC,eAAe,EAAE,wBAAwB;gBACzC,UAAU,EAAE,YAAY;aACzB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/console/index.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  /**
2
- * `p` 是否在 `root` 之内(含 root 自身)。
3
- *
4
- * 🔴 **必须比到分隔符**:裸 `startsWith(root)` 会把 `<root>-old` 当成 root
5
- * (studio 的 assertSharedWorkspace 测试里就有这个前缀陷阱,这里用同一判据)。
2
+ * 🔴 **围栏原语已抽到 `core/pathFence`,这里只做转出。**
3
+ * 抽出去的理由是本仓已经有过"同一条安全规则两份实现"的形状
4
+ * (`providers/art/withinDir.ts` 字符串版 vs 这里的 realpath 版,靠头注区分)——
5
+ * 同步这条路再要围栏时,**不能出现第三份**。
6
6
  */
7
- export declare function isUnderRoot(p: string, root: string): boolean;
7
+ export { isUnderRoot } from '../../core/pathFence.js';
8
8
  /**
9
9
  * 输入路径:绝对 + 存在 + 是文件 + 不超尺寸护栏。**不设根围栏**(见模块头)。
10
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"artPaths.d.ts","sourceRoot":"","sources":["../../../src/console/lib/artPaths.ts"],"names":[],"mappings":"AAuCA;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAI5D;AAsCD;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBjF;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAenF;AAED,gDAAgD;AAChD,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAcrF;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAY1F"}
1
+ {"version":3,"file":"artPaths.d.ts","sourceRoot":"","sources":["../../../src/console/lib/artPaths.ts"],"names":[],"mappings":"AAuCA;;;;;GAKG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA0BtD;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBjF;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAenF;AAED,gDAAgD;AAChD,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAcrF;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAY1F"}
@@ -26,8 +26,8 @@
26
26
  * (`JSON.parse` 失败的消息**会带原文片段**),所以 manifest **单独围起来**、
27
27
  * 且解析失败**不透传原始异常消息**。将来若再加读非图片的入参,**必须同样处理**。
28
28
  */
29
- import { realpath, stat } from 'node:fs/promises';
30
- import { dirname, isAbsolute, join, resolve, sep } from 'node:path';
29
+ import { stat } from 'node:fs/promises';
30
+ import { dirname, isAbsolute } from 'node:path';
31
31
  import { domainError } from '../../shared/errors.js';
32
32
  import { workspacesRoot } from '../../core/workspacePaths.js';
33
33
  /**
@@ -36,16 +36,13 @@ import { workspacesRoot } from '../../core/workspacePaths.js';
36
36
  */
37
37
  const MAX_INPUT_BYTES = 64 * 1024 * 1024;
38
38
  /**
39
- * `p` 是否在 `root` 之内(含 root 自身)。
40
- *
41
- * 🔴 **必须比到分隔符**:裸 `startsWith(root)` 会把 `<root>-old` 当成 root
42
- * (studio 的 assertSharedWorkspace 测试里就有这个前缀陷阱,这里用同一判据)。
39
+ * 🔴 **围栏原语已抽到 `core/pathFence`,这里只做转出。**
40
+ * 抽出去的理由是本仓已经有过"同一条安全规则两份实现"的形状
41
+ * (`providers/art/withinDir.ts` 字符串版 vs 这里的 realpath 版,靠头注区分)——
42
+ * 同步这条路再要围栏时,**不能出现第三份**。
43
43
  */
44
- export function isUnderRoot(p, root) {
45
- const r = resolve(root);
46
- const t = resolve(p);
47
- return t === r || t.startsWith(r + sep);
48
- }
44
+ export { isUnderRoot } from '../../core/pathFence.js';
45
+ import { isUnderRoot, realResolve } from '../../core/pathFence.js';
49
46
  /**
50
47
  * 把路径解析到**真实位置**再判围栏 —— 否则一个软链就绕出去了。
51
48
  * 目标可能尚不存在(输出文件),故解析其**父目录**的 realpath 再拼回文件名。
@@ -54,21 +51,6 @@ export function isUnderRoot(p, root) {
54
51
  * 事件循环(含 /api/health 探针与 SSE 心跳)。移交件里同步是对的 —— 它本来跑在 CLI 里;
55
52
  * **换了宿主之后才变错**。
56
53
  */
57
- async function realResolve(p) {
58
- const abs = resolve(p);
59
- try {
60
- return await realpath(abs);
61
- }
62
- catch {
63
- // 目标不存在 → 退而解析父目录(父目录也不存在时原样返回,由调用方的存在性检查报错)
64
- try {
65
- return join(await realpath(dirname(abs)), abs.slice(dirname(abs).length + 1));
66
- }
67
- catch {
68
- return abs;
69
- }
70
- }
71
- }
72
54
  /** 存在性(异步)。`stat` 抛 = 不存在/不可达 —— 与原 `existsSync` 同语义。 */
73
55
  async function exists(p) {
74
56
  return await stat(p).then(() => true, () => false);
@@ -1 +1 @@
1
- {"version":3,"file":"artPaths.js","sourceRoot":"","sources":["../../../src/console/lib/artPaths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artPaths.js","sourceRoot":"","sources":["../../../src/console/lib/artPaths.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @module console/routes/storage
3
+ * @description 对象存储接入的配置面(节点级)。设计见 `object-storage-and-workspace-sync.md` §2.1。
4
+ *
5
+ * @layer console
6
+ *
7
+ * 🔴 **读侧永不回显凭据。** `GET` 只回 `redact()` 的形状 —— 与 `GET /:project/agent` 同一条规矩:
8
+ * 读者是消费方,不是密钥的所有者。这条不是洁癖:今天刚清掉 11 个世界可读的 pm2 env dump,
9
+ * 它们含活 token 且躺了 9 天。**凭据每多经过一个面,就多一个会被写进日志的地方。**
10
+ *
11
+ * 🔴 **`PUT` 是整体替换,不是合并。** 合并语义会让"删掉一个字段"变成不可能表达的操作
12
+ * (与 `PUT /:project/media-providers` 同一条)。
13
+ *
14
+ * ⚠️ 本路由把"去哪儿"(`/`)与"同步什么"(`/scope`)**分成两个端点**,不是混在一个配置里。
15
+ * "同步什么"是**平台写入的数据**(按产品),sps 一个产品名都不硬编码 ——
16
+ * 禁的是 sps 把产品知识写死在**代码**里(coral sidecar 用「含 assets/ 目录」猜产品语义,
17
+ * 静默漏掉 36 个设计师阶段项目),不是禁它接受声明。
18
+ */
19
+ import { Hono } from 'hono';
20
+ export declare function createStorageRoute(): Hono;
21
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/console/routes/storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAc5B,wBAAgB,kBAAkB,IAAI,IAAI,CAiGzC"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * @module console/routes/storage
3
+ * @description 对象存储接入的配置面(节点级)。设计见 `object-storage-and-workspace-sync.md` §2.1。
4
+ *
5
+ * @layer console
6
+ *
7
+ * 🔴 **读侧永不回显凭据。** `GET` 只回 `redact()` 的形状 —— 与 `GET /:project/agent` 同一条规矩:
8
+ * 读者是消费方,不是密钥的所有者。这条不是洁癖:今天刚清掉 11 个世界可读的 pm2 env dump,
9
+ * 它们含活 token 且躺了 9 天。**凭据每多经过一个面,就多一个会被写进日志的地方。**
10
+ *
11
+ * 🔴 **`PUT` 是整体替换,不是合并。** 合并语义会让"删掉一个字段"变成不可能表达的操作
12
+ * (与 `PUT /:project/media-providers` 同一条)。
13
+ *
14
+ * ⚠️ 本路由把"去哪儿"(`/`)与"同步什么"(`/scope`)**分成两个端点**,不是混在一个配置里。
15
+ * "同步什么"是**平台写入的数据**(按产品),sps 一个产品名都不硬编码 ——
16
+ * 禁的是 sps 把产品知识写死在**代码**里(coral sidecar 用「含 assets/ 目录」猜产品语义,
17
+ * 静默漏掉 36 个设计师阶段项目),不是禁它接受声明。
18
+ */
19
+ import { Hono } from 'hono';
20
+ import { activeStorageConfig, readStorageConfig, redact, writeStorageConfig, } from '../../providers/storage/storageConfig.js';
21
+ import { readSyncScope, writeSyncScope, } from '../../providers/storage/syncScope.js';
22
+ export function createStorageRoute() {
23
+ const app = new Hono();
24
+ /**
25
+ * 当前配置(**脱敏**)。
26
+ *
27
+ * 三种状态必须可区分,别合并成一个 `enabled: false`:
28
+ * ```
29
+ * configured:false 没配过 ← 引导去配
30
+ * configured:true enabled:false 配了但关着 ← 有意关掉,别劝
31
+ * configured:true enabled:true 在用
32
+ * ```
33
+ */
34
+ app.get('/', (c) => {
35
+ const cfg = readStorageConfig();
36
+ if (!cfg)
37
+ return c.json({ data: { configured: false } });
38
+ return c.json({ data: { configured: true, ...redact(cfg) } });
39
+ });
40
+ /** 整体替换。缺字段即非法 —— 不做"沿用旧值"的合并,理由见模块头。 */
41
+ app.put('/', async (c) => {
42
+ const body = (await c.req.json().catch(() => null));
43
+ const invalid = (detail) => c.json({ type: 'validation', title: 'invalid storage config', status: 422, detail }, 422);
44
+ if (!body || typeof body !== 'object' || Array.isArray(body))
45
+ return invalid('body must be an object');
46
+ for (const k of ['endpoint', 'bucket', 'accessKey', 'secretKey']) {
47
+ if (typeof body[k] !== 'string' || !body[k]?.trim())
48
+ return invalid(`${k} required (non-empty string)`);
49
+ }
50
+ // 端点一律当**不透明**:只认 http/https,不解析、不推断是哪家存储。
51
+ // 与 `POST /api/templates/register` 的 URL 判据同一句 —— 挡掉 file:// 之类把它变成本地读写的形态。
52
+ let parsed;
53
+ try {
54
+ parsed = new URL(body.endpoint);
55
+ }
56
+ catch {
57
+ return invalid(`endpoint 不是合法 URL:${body.endpoint}`);
58
+ }
59
+ if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
60
+ return invalid(`endpoint 只支持 http/https,收到 ${parsed.protocol}`);
61
+ }
62
+ const cfg = {
63
+ endpoint: body.endpoint.trim(),
64
+ bucket: body.bucket.trim(),
65
+ accessKey: body.accessKey.trim(),
66
+ secretKey: body.secretKey.trim(),
67
+ region: typeof body.region === 'string' && body.region.trim() ? body.region.trim() : 'us-east-1',
68
+ pathStyle: body.pathStyle !== false,
69
+ // 🔴 默认关:没显式给 true 就是关。缺省被解释成"最宽松"是最危险的缺省。
70
+ enabled: body.enabled === true,
71
+ };
72
+ writeStorageConfig(cfg);
73
+ return c.json({ data: { configured: true, ...redact(cfg) } });
74
+ });
75
+ /**
76
+ * 同步路径今天生效吗 —— 给运维/自检用的**一个字段**,免得从三种状态自己推。
77
+ * 🔴 它回的是"有没有活配置",**不是**"桶连得上":连通性要真发一次请求才知道,
78
+ * 那是另一个动作(见 §2.1 任务 2 的验收),别让这个端点看起来像在报连通性。
79
+ */
80
+ app.get('/active', (c) => c.json({ data: { active: activeStorageConfig() !== null } }));
81
+ /**
82
+ * 同步范围声明(**按产品**)。内容由平台写入,sps 只执行 ——
83
+ * 🔴 这不违反"配置里不放同步什么":那一条禁的是 **sps 把产品知识写死在代码里**,
84
+ * 而这里是**数据**。反面教材是 coral sidecar 用「目录下含 assets/」猜产品语义,
85
+ * 静默漏掉 36 个设计师阶段项目。
86
+ */
87
+ app.get('/scope', (c) => {
88
+ const scope = readSyncScope();
89
+ return c.json({ data: scope ?? { products: {} }, declared: scope !== null });
90
+ });
91
+ /** 整体替换。缺声明的产品走窄兜底(只同步 `assets/`),而**用了兜底这件事会进日志**。 */
92
+ app.put('/scope', async (c) => {
93
+ const body = (await c.req.json().catch(() => null));
94
+ const invalid = (detail) => c.json({ type: 'validation', title: 'invalid sync scope', status: 422, detail }, 422);
95
+ if (!body || typeof body.products !== 'object' || body.products === null || Array.isArray(body.products)) {
96
+ return invalid('products must be an object keyed by product name');
97
+ }
98
+ const products = {};
99
+ for (const [name, v] of Object.entries(body.products)) {
100
+ const inc = v?.include;
101
+ if (!Array.isArray(inc) || !inc.every((x) => typeof x === 'string' && x.trim())) {
102
+ return invalid(`products.${name}.include must be a non-empty string[]`);
103
+ }
104
+ // 通配不支持:带上了什么没人会去 diff(coral 选具名白名单的理由,实测有效)
105
+ const star = inc.find((x) => x.includes('*'));
106
+ if (star)
107
+ return invalid(`不支持通配:products.${name}.include 里的 ${star}`);
108
+ products[name] = { include: inc };
109
+ }
110
+ writeSyncScope({ products });
111
+ return c.json({ data: { products } });
112
+ });
113
+ return app;
114
+ }
115
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/console/routes/storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * `p` 是否在 `root` 之内(含 root 自身)。
3
+ *
4
+ * 🔴 **必须比到分隔符**:裸 `startsWith(root)` 会把 `<root>-old` 当成 root 内。
5
+ * (与 `console/lib/artPaths.ts` 的判据同一句;studio 的 `assertSharedWorkspace` 测试里
6
+ * 也有这个前缀陷阱。)
7
+ */
8
+ export declare function isUnderRoot(p: string, root: string): boolean;
9
+ /**
10
+ * 把路径解析到**真实位置**(软链解开)。
11
+ *
12
+ * 目标可能尚不存在(输出文件),故解析其**父目录**的 realpath 再拼回文件名。
13
+ *
14
+ * ⚠️ **异步**:同步 fs 会阻塞事件循环(含 `/api/health` 探针与 SSE 心跳)。
15
+ * > 判据:**同步在移交件里是对的 —— 它本来跑在 CLI 里;换了宿主之后才变错。**
16
+ */
17
+ export declare function realResolve(p: string): Promise<string>;
18
+ /** realpath 之后再判围栏。**这是唯一该被安全路径调用的那个**;字符串比较不算围栏。 */
19
+ export declare function isRealUnderRoot(p: string, root: string): Promise<boolean>;
20
+ //# sourceMappingURL=pathFence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pathFence.d.ts","sourceRoot":"","sources":["../../src/core/pathFence.ts"],"names":[],"mappings":"AAsBA;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAI5D;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAW5D;AAED,qDAAqD;AACrD,wBAAsB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/E"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * @module core/pathFence
3
+ * @description 路径围栏的**共用原语**:realpath 之后再判"在不在某个根之内"。
4
+ *
5
+ * @layer core
6
+ *
7
+ * 🔴 **为什么抽出来:安全判据不能有第二份。**
8
+ * 本仓已经有过一次教训的形状 —— `providers/art/withinDir.ts`(字符串,**理智检查**)与
9
+ * `console/lib/artPaths.ts`(realpath,**安全边界**)长得几乎一样,靠头注区分。
10
+ * coral 同日实测出同族:一条规则在 `scan.ts:143` 做对了(Dirent.isFile 对 symlink 天然 false),
11
+ * 隔壁那条用 `stat`(跟随软链)就漏了。
12
+ * > **一条安全规则做对过一次,不代表它在第二条路上也在** ——
13
+ * > 而两条路写法不同时(Dirent vs 路径字符串),正是它只做一半的时候。
14
+ * ⇒ 同步这条路要围栏时,**不再写第三份**。
15
+ *
16
+ * ⚠️ 本模块**只做围栏**,不做"这个文件该不该同步/发布/服务" —— 那三者判据不同、
17
+ * 各自命名(`syncable` / `publishable` / `servable`)。把它们合并会制造"它们本该一致"的错觉,
18
+ * 而那个错觉比漂移本身更危险:下一个人会去"修复不一致",把三条用途不同的规则强行统一。
19
+ */
20
+ import { realpath } from 'node:fs/promises';
21
+ import { dirname, join, resolve, sep } from 'node:path';
22
+ /**
23
+ * `p` 是否在 `root` 之内(含 root 自身)。
24
+ *
25
+ * 🔴 **必须比到分隔符**:裸 `startsWith(root)` 会把 `<root>-old` 当成 root 内。
26
+ * (与 `console/lib/artPaths.ts` 的判据同一句;studio 的 `assertSharedWorkspace` 测试里
27
+ * 也有这个前缀陷阱。)
28
+ */
29
+ export function isUnderRoot(p, root) {
30
+ const r = resolve(root);
31
+ const t = resolve(p);
32
+ return t === r || t.startsWith(r + sep);
33
+ }
34
+ /**
35
+ * 把路径解析到**真实位置**(软链解开)。
36
+ *
37
+ * 目标可能尚不存在(输出文件),故解析其**父目录**的 realpath 再拼回文件名。
38
+ *
39
+ * ⚠️ **异步**:同步 fs 会阻塞事件循环(含 `/api/health` 探针与 SSE 心跳)。
40
+ * > 判据:**同步在移交件里是对的 —— 它本来跑在 CLI 里;换了宿主之后才变错。**
41
+ */
42
+ export async function realResolve(p) {
43
+ const abs = resolve(p);
44
+ try {
45
+ return await realpath(abs);
46
+ }
47
+ catch {
48
+ try {
49
+ return join(await realpath(dirname(abs)), abs.slice(dirname(abs).length + 1));
50
+ }
51
+ catch {
52
+ return abs;
53
+ }
54
+ }
55
+ }
56
+ /** realpath 之后再判围栏。**这是唯一该被安全路径调用的那个**;字符串比较不算围栏。 */
57
+ export async function isRealUnderRoot(p, root) {
58
+ return isUnderRoot(await realResolve(p), await realResolve(root));
59
+ }
60
+ //# sourceMappingURL=pathFence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pathFence.js","sourceRoot":"","sources":["../../src/core/pathFence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAExD;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,CAAS,EAAE,IAAY;IACjD,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACrB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,CAAS;IACzC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAChF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;AACH,CAAC;AAED,qDAAqD;AACrD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,CAAS,EAAE,IAAY;IAC3D,OAAO,WAAW,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;AACpE,CAAC"}
@@ -126,6 +126,7 @@ export declare class SessionDaemon {
126
126
  private pidFile;
127
127
  private server;
128
128
  private pollTimer;
129
+ private storageSync;
129
130
  private runtime;
130
131
  private pollCount;
131
132
  private ctx;
@@ -1 +1 @@
1
- {"version":3,"file":"sessionDaemon.d.ts","sourceRoot":"","sources":["../../src/daemon/sessionDaemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionDaemon.d.ts","sourceRoot":"","sources":["../../src/daemon/sessionDaemon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAgEH,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,EACF,eAAe,GACf,UAAU,GACV,SAAS,GACT,aAAa,GACb,eAAe,GACf,UAAU,GACV,WAAW,GACX,mBAAmB,GACnB,mBAAmB,GACnB,UAAU,GACV,cAAc,GACd,UAAU,GACV,cAAc,GACd,gBAAgB,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,UAAU,mBAAmB;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,KAAK,eAAe,GAChB;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AACjC,8CAA8C;GAC5C;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9J;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7H;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GACpL;IAAE,KAAK,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GAC7G;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACrI;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,GACzE;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GACpF;IAAE,KAAK,EAAE,eAAe,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAE,GACzE;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AACtC,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,mBAAmB,CAAC;AAKhE,qBAAa,aAAa;IAwBtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,OAAO;IAxBjB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,GAAG,CAAiB;IAC5B,OAAO,CAAC,OAAO,CAAqB;IACpC;;;OAGG;IACH,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,yDAAyD;IACzD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD,mCAAmC;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,4DAA4D;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,uDAAuD;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiC;gBAGnD,UAAU,SAAiB,EAC3B,OAAO,SAAc;IAYzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA8D5B,OAAO,CAAC,YAAY;YAqBN,aAAa;IAsE3B;;;;OAIG;IACH;;;OAGG;YACW,cAAc;YA4Cd,kBAAkB;YAqFlB,QAAQ;IA+KtB,4CAA4C;IAC5C,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,cAAc;IAStB,gFAAgF;IAChF,OAAO,CAAC,cAAc;IAUtB,6EAA6E;IAC7E,OAAO,CAAC,cAAc;YAcR,YAAY;IA0E1B,OAAO,CAAC,YAAY,CAAS;IAE7B,8EAA8E;YAChE,QAAQ;IAqCtB,gDAAgD;IAChD,OAAO,CAAC,IAAI;IAQZ,OAAO,CAAC,GAAG;CAIZ"}
@@ -17,6 +17,7 @@ import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from '
17
17
  import { createServer } from 'node:net';
18
18
  import { dirname, resolve } from 'node:path';
19
19
  import { appendAudit } from '../core/auditLog.js';
20
+ import { startStorageSyncLoop } from './storageSyncLoop.js';
20
21
  import { getReclaimMinutes } from '../core/reclaimConfig.js';
21
22
  import { reclaimOrphanSessions } from './orphanReclaim.js';
22
23
  import { ChatRelayHub } from './chatRelay.js';
@@ -72,6 +73,7 @@ export class SessionDaemon {
72
73
  pidFile;
73
74
  server = null;
74
75
  pollTimer = null;
76
+ storageSync = null;
75
77
  runtime;
76
78
  pollCount = 0;
77
79
  ctx;
@@ -149,6 +151,8 @@ export class SessionDaemon {
149
151
  this.log(`Poll rejected: ${err instanceof Error ? err.message : String(err)}`);
150
152
  });
151
153
  }, 2_000);
154
+ // 工作区 → 桶的对账同步(未配置时它一行日志都不打,见 storageSyncLoop 头注)
155
+ this.storageSync = startStorageSyncLoop((l) => this.log(l));
152
156
  // Graceful shutdown on signals and unexpected exit(记录触发源用于审计)
153
157
  process.on('SIGINT', () => this.shutdown('SIGINT'));
154
158
  process.on('SIGTERM', () => this.shutdown('SIGTERM'));
@@ -664,6 +668,8 @@ export class SessionDaemon {
664
668
  this.log(`Shutting down (trigger=${trigger})...`);
665
669
  if (this.pollTimer)
666
670
  clearInterval(this.pollTimer);
671
+ // 停同步循环,否则它的 setTimeout 会把进程吊住(表现是"重启时 socket 还被占着")
672
+ this.storageSync?.stop();
667
673
  if (this.server)
668
674
  this.server.close();
669
675
  // 先清退排队者:否则它们只会看到连接断开,不知道发生了什么(也不知道该不该重试)。