@downcity/agent 1.1.14 → 1.1.15

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/config/Config.js +1 -1
  2. package/bin/config/Config.js.map +1 -1
  3. package/bin/config/Defaults.d.ts +13 -0
  4. package/bin/config/Defaults.d.ts.map +1 -0
  5. package/bin/config/{DowncityDefault.js → Defaults.js} +11 -1
  6. package/bin/config/Defaults.js.map +1 -0
  7. package/bin/{project/ProjectExecutionBinding.d.ts → config/ExecutionBinding.d.ts} +2 -2
  8. package/bin/config/ExecutionBinding.d.ts.map +1 -0
  9. package/bin/{project/ProjectExecutionBinding.js → config/ExecutionBinding.js} +2 -2
  10. package/bin/config/ExecutionBinding.js.map +1 -0
  11. package/bin/core/AgentCore.js +1 -1
  12. package/bin/core/AgentCore.js.map +1 -1
  13. package/bin/host/daemon/ProjectSetup.d.ts.map +1 -1
  14. package/bin/host/daemon/ProjectSetup.js +1 -1
  15. package/bin/host/daemon/ProjectSetup.js.map +1 -1
  16. package/bin/index.d.ts +3 -3
  17. package/bin/index.d.ts.map +1 -1
  18. package/bin/index.js +3 -3
  19. package/bin/index.js.map +1 -1
  20. package/bin/model/CreateModel.js +1 -1
  21. package/bin/model/CreateModel.js.map +1 -1
  22. package/bin/project/AgentInitializer.js +2 -2
  23. package/bin/project/AgentInitializer.js.map +1 -1
  24. package/bin/sdk/Agent.d.ts +19 -5
  25. package/bin/sdk/Agent.d.ts.map +1 -1
  26. package/bin/sdk/Agent.js +71 -13
  27. package/bin/sdk/Agent.js.map +1 -1
  28. package/bin/sdk/RemoteAgent.d.ts +1 -1
  29. package/bin/sdk/RemoteAgent.js +1 -1
  30. package/bin/sdk/Session.js +4 -4
  31. package/bin/sdk/Session.js.map +1 -1
  32. package/bin/sdk/{SessionMetadata.d.ts → session/Metadata.d.ts} +2 -2
  33. package/bin/sdk/session/Metadata.d.ts.map +1 -0
  34. package/bin/sdk/{SessionMetadata.js → session/Metadata.js} +2 -2
  35. package/bin/sdk/session/Metadata.js.map +1 -0
  36. package/bin/sdk/{Paths.d.ts → session/Paths.d.ts} +1 -1
  37. package/bin/sdk/session/Paths.d.ts.map +1 -0
  38. package/bin/sdk/{Paths.js → session/Paths.js} +1 -1
  39. package/bin/sdk/session/Paths.js.map +1 -0
  40. package/bin/sdk/{SessionPersistence.d.ts → session/Persistence.d.ts} +3 -3
  41. package/bin/sdk/session/Persistence.d.ts.map +1 -0
  42. package/bin/sdk/{SessionPersistence.js → session/Persistence.js} +4 -4
  43. package/bin/sdk/session/Persistence.js.map +1 -0
  44. package/bin/sdk/{SessionServicePort.d.ts → session/ServicePort.d.ts} +2 -2
  45. package/bin/sdk/session/ServicePort.d.ts.map +1 -0
  46. package/bin/sdk/{SessionServicePort.js → session/ServicePort.js} +1 -1
  47. package/bin/sdk/session/ServicePort.js.map +1 -0
  48. package/bin/sdk/session/index.d.ts +12 -0
  49. package/bin/sdk/session/index.d.ts.map +1 -0
  50. package/bin/sdk/session/index.js +12 -0
  51. package/bin/sdk/session/index.js.map +1 -0
  52. package/bin/service/builtins/schedule/ScheduleService.d.ts.map +1 -1
  53. package/bin/service/builtins/schedule/ScheduleService.js +2 -2
  54. package/bin/service/builtins/schedule/ScheduleService.js.map +1 -1
  55. package/bin/service/core/ServiceActionRunner.js +2 -2
  56. package/bin/service/core/ServiceActionRunner.js.map +1 -1
  57. package/bin/service/core/ServiceCommandRequest.js +1 -1
  58. package/bin/service/core/ServiceCommandRequest.js.map +1 -1
  59. package/bin/service/{schedule → core/schedule}/Executor.d.ts +2 -2
  60. package/bin/service/core/schedule/Executor.d.ts.map +1 -0
  61. package/bin/service/{schedule → core/schedule}/Executor.js +1 -1
  62. package/bin/service/core/schedule/Executor.js.map +1 -0
  63. package/bin/service/{schedule → core/schedule}/Store.d.ts +1 -1
  64. package/bin/service/core/schedule/Store.d.ts.map +1 -0
  65. package/bin/service/{schedule → core/schedule}/Store.js +2 -2
  66. package/bin/service/core/schedule/Store.js.map +1 -0
  67. package/bin/service/core/schedule/Time.d.ts.map +1 -0
  68. package/bin/service/core/schedule/Time.js.map +1 -0
  69. package/bin/service/types/Service.d.ts +1 -1
  70. package/bin/service/types/Service.js +1 -1
  71. package/package.json +1 -1
  72. package/src/config/Config.ts +1 -1
  73. package/src/config/{DowncityDefault.ts → Defaults.ts} +11 -0
  74. package/src/{project/ProjectExecutionBinding.ts → config/ExecutionBinding.ts} +1 -1
  75. package/src/core/AgentCore.ts +1 -1
  76. package/src/host/daemon/ProjectSetup.ts +2 -3
  77. package/src/index.ts +3 -3
  78. package/src/model/CreateModel.ts +1 -1
  79. package/src/project/AgentInitializer.ts +2 -2
  80. package/src/sdk/Agent.ts +79 -13
  81. package/src/sdk/RemoteAgent.ts +1 -1
  82. package/src/sdk/Session.ts +4 -4
  83. package/src/sdk/{SessionMetadata.ts → session/Metadata.ts} +1 -1
  84. package/src/sdk/{Paths.ts → session/Paths.ts} +1 -1
  85. package/src/sdk/{SessionPersistence.ts → session/Persistence.ts} +1 -1
  86. package/src/sdk/session/index.ts +34 -0
  87. package/src/service/builtins/schedule/ScheduleService.ts +2 -2
  88. package/src/service/core/ServiceActionRunner.ts +2 -2
  89. package/src/service/core/ServiceCommandRequest.ts +1 -1
  90. package/src/service/{schedule → core/schedule}/Executor.ts +1 -1
  91. package/src/service/{schedule → core/schedule}/Store.ts +4 -2
  92. package/src/service/types/Service.ts +1 -1
  93. package/tsconfig.tsbuildinfo +1 -1
  94. package/bin/config/DowncityDefault.d.ts +0 -3
  95. package/bin/config/DowncityDefault.d.ts.map +0 -1
  96. package/bin/config/DowncityDefault.js.map +0 -1
  97. package/bin/project/ProjectExecutionBinding.d.ts.map +0 -1
  98. package/bin/project/ProjectExecutionBinding.js.map +0 -1
  99. package/bin/sdk/HttpServer.d.ts +0 -30
  100. package/bin/sdk/HttpServer.d.ts.map +0 -1
  101. package/bin/sdk/HttpServer.js +0 -59
  102. package/bin/sdk/HttpServer.js.map +0 -1
  103. package/bin/sdk/Paths.d.ts.map +0 -1
  104. package/bin/sdk/Paths.js.map +0 -1
  105. package/bin/sdk/RpcServer.d.ts +0 -30
  106. package/bin/sdk/RpcServer.d.ts.map +0 -1
  107. package/bin/sdk/RpcServer.js +0 -51
  108. package/bin/sdk/RpcServer.js.map +0 -1
  109. package/bin/sdk/SessionMetadata.d.ts.map +0 -1
  110. package/bin/sdk/SessionMetadata.js.map +0 -1
  111. package/bin/sdk/SessionPersistence.d.ts.map +0 -1
  112. package/bin/sdk/SessionPersistence.js.map +0 -1
  113. package/bin/sdk/SessionServicePort.d.ts.map +0 -1
  114. package/bin/sdk/SessionServicePort.js.map +0 -1
  115. package/bin/service/core/ServiceManager.d.ts +0 -9
  116. package/bin/service/core/ServiceManager.d.ts.map +0 -1
  117. package/bin/service/core/ServiceManager.js +0 -9
  118. package/bin/service/core/ServiceManager.js.map +0 -1
  119. package/bin/service/schedule/Executor.d.ts.map +0 -1
  120. package/bin/service/schedule/Executor.js.map +0 -1
  121. package/bin/service/schedule/Store.d.ts.map +0 -1
  122. package/bin/service/schedule/Store.js.map +0 -1
  123. package/bin/service/schedule/Time.d.ts.map +0 -1
  124. package/bin/service/schedule/Time.js.map +0 -1
  125. package/src/sdk/HttpServer.ts +0 -66
  126. package/src/sdk/RpcServer.ts +0 -57
  127. package/src/service/core/ServiceManager.ts +0 -19
  128. /package/bin/service/{schedule → core/schedule}/Time.d.ts +0 -0
  129. /package/bin/service/{schedule → core/schedule}/Time.js +0 -0
  130. /package/src/sdk/{SessionServicePort.ts → session/ServicePort.ts} +0 -0
  131. /package/src/service/{schedule → core/schedule}/Time.ts +0 -0
@@ -8,8 +8,8 @@
8
8
  */
9
9
  import fs from "fs-extra";
10
10
  import path from "node:path";
11
- import { generateId } from "../../utils/Id.js";
12
- import { getDowncityScheduleDbPath } from "../../config/Paths.js";
11
+ import { generateId } from "../../../utils/Id.js";
12
+ import { getDowncityScheduleDbPath } from "../../../config/Paths.js";
13
13
  function readJsonlLines(filePath) {
14
14
  if (!fs.existsSync(filePath))
15
15
  return [];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../../src/service/core/schedule/Store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAM7B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AA4C9D,SAAS,cAAc,CAAC,QAAgB;IACtC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/C,OAAO,GAAG;SACP,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAyB;IACnD,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QACjC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QACnD,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QACjD,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;QAC9B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;QAClC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;QACtC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;KACvC,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAsC,CAAC;QAClE,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACjD,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;YACtC,OAAO;gBACL,CAAC,EAAE,CAAC;gBACJ,IAAI,EAAE,SAAS;gBACf,GAAG,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAyB,CAAC;aACvD,CAAC;QACJ,CAAC;QACD,IACE,GAAG,CAAC,IAAI,KAAK,QAAQ;YACrB,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;YAC7B,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;YAC9B,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,EACjC,CAAC;YACD,OAAO;gBACL,CAAC,EAAE,CAAC;gBACJ,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,MAAM,EAAE,GAAG,CAAC,MAA4B;gBACxC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;gBACpC,GAAG,CAAC,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/D,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,CAAqB,EAAE,CAAqB;IAC/D,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;IAC1D,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,oBAAoB;IACd,QAAQ,CAAS;IAElC,YAAY,WAAmB;QAC7B,IAAI,CAAC,QAAQ,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;QACvD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,KAAU,CAAC;IAEhB;;OAEG;IACH,SAAS,CAAC,KAA8B;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,GAAG,GAAuB;YAC9B,EAAE,EAAE,SAAS,UAAU,EAAE,EAAE;YAC3B,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YACnD,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YACjD,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;YAC9B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;YAClC,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;SACf,CAAC;QACF,IAAI,CAAC,WAAW,CAAC;YACf,CAAC,EAAE,CAAC;YACJ,IAAI,EAAE,SAAS;YACf,GAAG;SACJ,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,KAAa;QACtB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,QAA8B;QAC7C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,QAAQ,EAAE;aACnB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;aACxC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,MAGR;QACC,MAAM,KAAK,GACT,OAAO,MAAM,EAAE,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;YAChE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC,CAAC,GAAG,CAAC;QACV,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE;aACzB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC;aAChE,IAAI,CAAC,WAAW,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,KAAa;QAC9B,OAAO,IAAI,CAAC,QAAQ,EAAE;aACnB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC7E,IAAI,CAAC,WAAW,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,yBAAyB;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAC9E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC;gBACf,CAAC,EAAE,CAAC;gBACJ,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,GAAG,CAAC,EAAE;gBACb,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,GAAG;aACf,CAAC,CAAC;QACL,CAAC;QACD,OAAO,WAAW,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,KAAa;QAC5B,OAAO,IAAI,CAAC,oBAAoB,CAAC;YAC/B,KAAK;YACL,MAAM,EAAE,WAAW;SACpB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,KAAa,EAAE,KAAa;QACxC,OAAO,IAAI,CAAC,oBAAoB,CAAC;YAC/B,KAAK;YACL,MAAM,EAAE,QAAQ;YAChB,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,KAAa;QAC5B,OAAO,IAAI,CAAC,oBAAoB,CAAC;YAC/B,KAAK;YACL,MAAM,EAAE,WAAW;SACpB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,KAAa;QAC5B,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACK,QAAQ;QACd,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACK,UAAU;QAChB,MAAM,IAAI,GAAG,IAAI,GAAG,EAA8B,CAAC;QACnD,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtD,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;gBACpB,GAAG,OAAO;gBACV,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9C,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW;oBAC9D,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE;oBACtB,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,KAAwB;QAC1C,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACK,oBAAoB,CAC1B,KAAa,EACb,MAA+B;QAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7C,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,WAAW,CAAC;YACf,CAAC,EAAE,CAAC;YACJ,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,OAAO,CAAC,EAAE;YACjB,MAAM;YACN,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,MAI5B;QACC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC;YACf,CAAC,EAAE,CAAC;YACJ,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,OAAO,CAAC,EAAE;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Time.d.ts","sourceRoot":"","sources":["../../../../src/service/core/schedule/Time.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA+BH;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,MAAM,CA2BR;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE;IACnD,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACpC,GAAG,MAAM,GAAG,SAAS,CAuBrB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAClC,SAAS,EAAE,MAAM,GAChB,MAAM,CAaR"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Time.js","sourceRoot":"","sources":["../../../../src/service/core/schedule/Time.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * 关键点(中文)
5
5
  * - 这里集中声明 service 体系的共享契约。
6
6
  * - 这些类型会被 service 管理层、内建 service 与测试多处复用,因此收敛在 `service/types/`。
7
- * - `service/core/ServiceManager.ts` 之后只保留门面 re-export,不再承担类型源文件职责。
7
+ * - service 共享契约统一放在 `service/types/`,避免管理层门面文件承载类型来源职责。
8
8
  */
9
9
  import type { Command } from "commander";
10
10
  import type { AgentContext } from "../../core/AgentContextTypes.js";
@@ -4,7 +4,7 @@
4
4
  * 关键点(中文)
5
5
  * - 这里集中声明 service 体系的共享契约。
6
6
  * - 这些类型会被 service 管理层、内建 service 与测试多处复用,因此收敛在 `service/types/`。
7
- * - `service/core/ServiceManager.ts` 之后只保留门面 re-export,不再承担类型源文件职责。
7
+ * - service 共享契约统一放在 `service/types/`,避免管理层门面文件承载类型来源职责。
8
8
  */
9
9
  export {};
10
10
  //# sourceMappingURL=Service.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@downcity/agent",
3
- "version": "1.1.14",
3
+ "version": "1.1.15",
4
4
  "type": "module",
5
5
  "description": "Downcity Agent 运行时 — 执行壳,通过 RPC/HTTP 调用 City 的能力",
6
6
  "main": "./bin/index.js",
@@ -10,7 +10,7 @@ import fs from "fs-extra";
10
10
  import path from "path";
11
11
  import type { DowncityConfig } from "@/types/config/DowncityConfig.js";
12
12
  import type { JsonObject, JsonValue } from "@/types/common/Json.js";
13
- import { assertProjectExecutionTarget } from "@/project/ProjectExecutionBinding.js";
13
+ import { assertProjectExecutionTarget } from "@/config/ExecutionBinding.js";
14
14
 
15
15
  export type { DowncityConfig };
16
16
 
@@ -1,5 +1,16 @@
1
+ /**
2
+ * Defaults:agent 项目默认配置模板。
3
+ *
4
+ * 关键点(中文)
5
+ * - 这里集中声明初始化项目时写入的默认 `downcity.json`。
6
+ * - 默认值只服务项目初始化,不参与运行时配置合并逻辑。
7
+ */
8
+
1
9
  import type { DowncityConfig } from "@/types/config/DowncityConfig.js";
2
10
 
11
+ /**
12
+ * 默认 `downcity.json` 配置。
13
+ */
3
14
  export const DEFAULT_DOWNCITY_JSON: DowncityConfig = {
4
15
  $schema: "./.downcity/schema/downcity.schema.json",
5
16
  name: "downcity",
@@ -1,5 +1,5 @@
1
1
  /**
2
- * ProjectExecutionBinding:项目执行绑定解析与校验。
2
+ * ExecutionBinding:项目执行绑定解析与校验。
3
3
  *
4
4
  * 关键点(中文)
5
5
  * - 项目只有一条执行路径:`execution.type = "api"`。
@@ -30,7 +30,7 @@ import type {
30
30
  } from "@/sdk/AgentSdkTypes.js";
31
31
  import { Session } from "@/sdk/Session.js";
32
32
  import { DEFAULT_SHIP_PROMPTS } from "@session/composer/system/default/SystemDomain.js";
33
- import { getSdkAgentSessionsRootDirPath } from "@/sdk/Paths.js";
33
+ import { getSdkAgentSessionsRootDirPath } from "@/sdk/session/index.js";
34
34
  import {
35
35
  createAgentPathRuntime,
36
36
  createAgentPluginConfigRuntime,
@@ -9,11 +9,10 @@
9
9
  import fs from "fs-extra";
10
10
  import path from "node:path";
11
11
  import { loadDowncityConfig } from "@/config/Config.js";
12
- import type { AgentPlatformRuntime } from "@/types/host/AgentHost.js";
13
12
  import {
14
- readProjectExecutionBinding,
15
13
  readProjectPrimaryModelId,
16
- } from "@/project/ProjectExecutionBinding.js";
14
+ } from "@/config/ExecutionBinding.js";
15
+ import type { AgentPlatformRuntime } from "@/types/host/AgentHost.js";
17
16
  import {
18
17
  getCacheDirPath,
19
18
  getLogsDirPath,
package/src/index.ts CHANGED
@@ -92,8 +92,8 @@ export {
92
92
  startAllServices,
93
93
  stopAllServices,
94
94
  } from "./service/core/Manager.js";
95
- export { ServiceScheduleStore } from "./service/schedule/Store.js";
96
- export { parseScheduledRunAtMsOrThrow } from "./service/schedule/Time.js";
95
+ export { ServiceScheduleStore } from "./service/core/schedule/Store.js";
96
+ export { parseScheduledRunAtMsOrThrow } from "./service/core/schedule/Time.js";
97
97
  export {
98
98
  pickLastSuccessfulChatSendText,
99
99
  resolveAssistantMessageForPersistence,
@@ -130,7 +130,7 @@ export {
130
130
  ensureRuntimeExecutionBindingReady,
131
131
  ensureRuntimeProjectReady,
132
132
  } from "./host/daemon/ProjectSetup.js";
133
- export { assertProjectExecutionTarget } from "./project/ProjectExecutionBinding.js";
133
+ export { assertProjectExecutionTarget } from "./config/ExecutionBinding.js";
134
134
 
135
135
  // 日志
136
136
  export { getLogger, logger, type Logger } from "./utils/logger/Logger.js";
@@ -21,7 +21,7 @@ import { createLlmLoggingFetch } from "@/utils/logger/Fetch.js";
21
21
  import { getLogger } from "@/utils/logger/Logger.js";
22
22
  import type { DowncityConfig } from "@/types/config/DowncityConfig.js";
23
23
  import type { LlmProviderType } from "@/types/config/LlmConfig.js";
24
- import { readProjectExecutionBinding } from "@/project/ProjectExecutionBinding.js";
24
+ import { readProjectExecutionBinding } from "@/config/ExecutionBinding.js";
25
25
  import type { AgentPlatformRuntime } from "@/types/host/AgentHost.js";
26
26
 
27
27
  type ModelLogContext = {
@@ -26,7 +26,7 @@ import {
26
26
  getDowncityTasksDirPath,
27
27
  getSoulMdPath,
28
28
  } from "@/config/Paths.js";
29
- import { DEFAULT_DOWNCITY_JSON } from "@/config/DowncityDefault.js";
29
+ import { DEFAULT_DOWNCITY_JSON } from "@/config/Defaults.js";
30
30
  import { DOWNCITY_JSON_SCHEMA } from "@/config/DowncitySchema.js";
31
31
  import type { DowncityConfig } from "@/config/Config.js";
32
32
  import {
@@ -40,7 +40,7 @@ import type {
40
40
  AgentProjectInitializationInput,
41
41
  AgentProjectInitializationResult,
42
42
  } from "@/project/types/AgentProject.js";
43
- import { assertProjectExecutionTarget } from "@/project/ProjectExecutionBinding.js";
43
+ import { assertProjectExecutionTarget } from "@/config/ExecutionBinding.js";
44
44
  import type { ExecutionBindingConfig } from "@/types/config/ExecutionBinding.js";
45
45
  import type { AgentPlatformRuntime } from "@/types/host/AgentHost.js";
46
46
 
package/src/sdk/Agent.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * 关键点(中文)
5
5
  * - `Agent` 现在是实例外观层,长期运行状态下沉到 `AgentCore`。
6
6
  * - session、HTTP、RPC、service lifecycle 都按需异步初始化。
7
- * - `start/stop` 负责统一收口当前 agent 实例的生命周期。
7
+ * - `start/stop` 是唯一公开的长期运行生命周期入口。
8
8
  */
9
9
 
10
10
  import type { Tool } from "ai";
@@ -19,13 +19,16 @@ import type {
19
19
  AgentStartOptions,
20
20
  AgentStartResult,
21
21
  AgentStopResult,
22
+ AgentHttpBinding,
23
+ AgentHttpStartOptions,
24
+ AgentRpcBinding,
22
25
  AgentSessionMetadata,
23
26
  } from "@/sdk/AgentSdkTypes.js";
24
27
  import { Session } from "@/sdk/Session.js";
25
- import { SdkAgentHttpServer } from "@/sdk/HttpServer.js";
26
- import { SdkAgentRpcServer } from "@/sdk/RpcServer.js";
27
28
  import { AgentCore } from "@/core/AgentCore.js";
28
29
  import { startAllServices, stopAllServices } from "@/service/core/Manager.js";
30
+ import { startServer } from "@/server/http/Server.js";
31
+ import { startLocalRpcServer } from "@/server/rpc/Server.js";
29
32
 
30
33
  /**
31
34
  * SDK 本地 Agent。
@@ -35,12 +38,12 @@ export class Agent {
35
38
  readonly id: string;
36
39
  readonly path: string;
37
40
  readonly tools: Record<string, Tool>;
38
- readonly http: SdkAgentHttpServer;
39
- readonly rpc: SdkAgentRpcServer;
40
41
  readonly services: Map<string, BaseService>;
41
42
  readonly plugins: PluginPort;
42
43
  private servicesStarted = false;
43
44
  private startPromise: Promise<AgentStartResult> | null = null;
45
+ private httpBinding: AgentHttpBinding | null = null;
46
+ private rpcBinding: AgentRpcBinding | null = null;
44
47
 
45
48
  constructor(options: AgentOptions) {
46
49
  this.core = new AgentCore(options);
@@ -49,8 +52,6 @@ export class Agent {
49
52
  this.tools = this.core.tools;
50
53
  this.services = this.core.services;
51
54
  this.plugins = this.core.plugins;
52
- this.http = new SdkAgentHttpServer(this);
53
- this.rpc = new SdkAgentRpcServer(this);
54
55
  }
55
56
 
56
57
  /**
@@ -100,10 +101,10 @@ export class Agent {
100
101
  const httpBinding =
101
102
  options?.http === false || options?.http === undefined
102
103
  ? undefined
103
- : await this.http.start(options.http);
104
+ : await this.startHttp(options.http);
104
105
  const rpcBinding =
105
106
  options?.rpc === true
106
- ? await this.rpc.start()
107
+ ? await this.startRpc()
107
108
  : undefined;
108
109
 
109
110
  return {
@@ -125,8 +126,8 @@ export class Agent {
125
126
  */
126
127
  async stop(): Promise<AgentStopResult> {
127
128
  const servicesStarted = this.servicesStarted;
128
- const rpcStarted = this.rpc.isStarted();
129
- const httpStarted = this.http.isStarted();
129
+ const rpcStarted = this.rpcBinding !== null;
130
+ const httpStarted = this.httpBinding !== null;
130
131
 
131
132
  if (servicesStarted) {
132
133
  await stopAllServices(this.getContext());
@@ -134,11 +135,11 @@ export class Agent {
134
135
  }
135
136
 
136
137
  if (rpcStarted) {
137
- await this.rpc.stop();
138
+ await this.stopRpc();
138
139
  }
139
140
 
140
141
  if (httpStarted) {
141
- await this.http.stop();
142
+ await this.stopHttp();
142
143
  }
143
144
 
144
145
  this.startPromise = null;
@@ -174,4 +175,69 @@ export class Agent {
174
175
  getContext(): AgentContext {
175
176
  return this.core.getContext();
176
177
  }
178
+
179
+ /**
180
+ * 启动当前 agent 的 HTTP server。
181
+ */
182
+ private async startHttp(
183
+ options?: AgentHttpStartOptions,
184
+ ): Promise<AgentHttpBinding> {
185
+ if (this.httpBinding) {
186
+ return this.httpBinding;
187
+ }
188
+ const host = String(options?.host || "127.0.0.1").trim() || "127.0.0.1";
189
+ const port =
190
+ typeof options?.port === "number" && Number.isInteger(options.port)
191
+ ? options.port
192
+ : 15314;
193
+ const server = await startServer({
194
+ host,
195
+ port,
196
+ core: this.core,
197
+ });
198
+ this.httpBinding = {
199
+ baseUrl: `http://${host}:${port}`,
200
+ host,
201
+ port,
202
+ server,
203
+ };
204
+ return this.httpBinding;
205
+ }
206
+
207
+ /**
208
+ * 停止当前 agent 的 HTTP server。
209
+ */
210
+ private async stopHttp(): Promise<void> {
211
+ if (!this.httpBinding) return;
212
+ const current = this.httpBinding;
213
+ this.httpBinding = null;
214
+ await current.server.stop();
215
+ }
216
+
217
+ /**
218
+ * 启动当前 agent 的本地 RPC server。
219
+ */
220
+ private async startRpc(): Promise<AgentRpcBinding> {
221
+ if (this.rpcBinding) {
222
+ return this.rpcBinding;
223
+ }
224
+ const server = await startLocalRpcServer({
225
+ core: this.core,
226
+ });
227
+ this.rpcBinding = {
228
+ endpoint: server.endpoint,
229
+ server,
230
+ };
231
+ return this.rpcBinding;
232
+ }
233
+
234
+ /**
235
+ * 停止当前 agent 的本地 RPC server。
236
+ */
237
+ private async stopRpc(): Promise<void> {
238
+ if (!this.rpcBinding) return;
239
+ const current = this.rpcBinding;
240
+ this.rpcBinding = null;
241
+ await current.server.stop();
242
+ }
177
243
  }
@@ -2,7 +2,7 @@
2
2
  * RemoteAgent:远程 SDK 客户端。
3
3
  *
4
4
  * 关键点(中文)
5
- * - 面向已启动 `agent.http.start()` 的远程/本地 HTTP 服务。
5
+ * - 面向已通过 `agent.start({ http: { ... } })` 暴露出来的远程/本地 HTTP 服务。
6
6
  * - 与本地 `Agent` 尽量保持同一套 session 使用面。
7
7
  */
8
8
 
@@ -34,19 +34,19 @@ import {
34
34
  readSessionMetadata,
35
35
  resolveSystemTimezone,
36
36
  writeSessionMetadata,
37
- } from "@/sdk/SessionMetadata.js";
37
+ } from "@/sdk/session/index.js";
38
38
  import {
39
39
  getSdkAgentSessionArchiveDirPath,
40
40
  getSdkAgentSessionDirPath,
41
- } from "@/sdk/Paths.js";
41
+ } from "@/sdk/session/index.js";
42
42
  import { AsyncQueue } from "@/sdk/AsyncQueue.js";
43
43
  import type { SessionPort } from "@/core/AgentContextTypes.js";
44
44
  import { pushUiMessageChunkAsSdkEvent } from "@/sdk/StreamEvents.js";
45
45
  import {
46
46
  persistSdkAssistantResult,
47
47
  touchSessionMetadata,
48
- } from "@/sdk/SessionPersistence.js";
49
- import { createSessionServicePort } from "@/sdk/SessionServicePort.js";
48
+ } from "@/sdk/session/index.js";
49
+ import { createSessionServicePort } from "@/sdk/session/index.js";
50
50
 
51
51
  type SessionOptions = {
52
52
  /**
@@ -12,7 +12,7 @@ import type {
12
12
  SessionHistoryMetaV1,
13
13
  SessionHistorySdkConfigV1,
14
14
  } from "@/session/types/SessionHistoryMeta.js";
15
- import { getSdkAgentSessionMetaPath } from "@/sdk/Paths.js";
15
+ import { getSdkAgentSessionMetaPath } from "@/sdk/session/Paths.js";
16
16
 
17
17
  type ReadSessionMetadataInput = {
18
18
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * SDK Session 落盘路径规则。
2
+ * SDK Session 路径规则。
3
3
  *
4
4
  * 关键点(中文)
5
5
  * - 与旧 `.downcity/session/<sessionId>` 路径分开,避免不同 agent 在同一项目目录下互相污染。
@@ -14,7 +14,7 @@ import type { AgentSessionConfigSnapshot } from "@/sdk/AgentSdkTypes.js";
14
14
  import {
15
15
  readSessionMetadata,
16
16
  writeSessionMetadata,
17
- } from "@/sdk/SessionMetadata.js";
17
+ } from "@/sdk/session/Metadata.js";
18
18
 
19
19
  /**
20
20
  * SDK Session 元数据写入参数。
@@ -0,0 +1,34 @@
1
+ /**
2
+ * SDK Session 辅助模块聚合入口。
3
+ *
4
+ * 关键点(中文)
5
+ * - 这里收口 `Session.ts` 依赖的路径、元数据、持久化与 service 端口适配能力。
6
+ * - 避免这些实现继续平铺在 `sdk/` 顶层,提升目录语义清晰度。
7
+ */
8
+
9
+ export {
10
+ getSdkAgentDirPath,
11
+ getSdkAgentRpcEndpointPath,
12
+ getSdkAgentSessionArchiveDirPath,
13
+ getSdkAgentSessionDirPath,
14
+ getSdkAgentSessionMessagesDirPath,
15
+ getSdkAgentSessionMessagesPath,
16
+ getSdkAgentSessionMetaPath,
17
+ getSdkAgentSessionsRootDirPath,
18
+ getSdkAgentsRootDirPath,
19
+ getSdkDowncityDirPath,
20
+ } from "./Paths.js";
21
+ export {
22
+ inferModelLabel,
23
+ patchSessionModelLabel,
24
+ readSessionMetadata,
25
+ resolveSystemTimezone,
26
+ writeSessionMetadata,
27
+ } from "./Metadata.js";
28
+ export {
29
+ persistSdkAssistantResult,
30
+ touchSessionMetadata,
31
+ } from "./Persistence.js";
32
+ export {
33
+ createSessionServicePort,
34
+ } from "./ServicePort.js";
@@ -10,9 +10,9 @@
10
10
  import type { AgentRuntime } from "@/core/AgentCoreTypes.js";
11
11
  import type { AgentContext } from "@/core/AgentContextTypes.js";
12
12
  import { BaseService } from "@/service/builtins/BaseService.js";
13
+ import { runDueScheduledJobs } from "@/service/core/schedule/Executor.js";
14
+ import { ServiceScheduleStore } from "@/service/core/schedule/Store.js";
13
15
  import type { ServiceActions } from "@/service/types/Service.js";
14
- import { ServiceScheduleStore } from "@/service/schedule/Store.js";
15
- import { runDueScheduledJobs } from "@/service/schedule/Executor.js";
16
16
 
17
17
  const SCHEDULE_POLL_INTERVAL_MS = 200;
18
18
  const SCHEDULE_LOG_PREFIX = "[SCHEDULE]";
@@ -15,8 +15,8 @@ import type {
15
15
  ServiceStateSnapshot,
16
16
  } from "@/service/types/ServiceState.js";
17
17
  import type { BaseService } from "@/service/builtins/BaseService.js";
18
- import { ServiceScheduleStore } from "../schedule/Store.js";
19
- import { normalizeRunAtMsOrThrow } from "../schedule/Time.js";
18
+ import { ServiceScheduleStore } from "./schedule/Store.js";
19
+ import { normalizeRunAtMsOrThrow } from "./schedule/Time.js";
20
20
  import type {
21
21
  ServiceAction,
22
22
  ServiceActionResult,
@@ -12,7 +12,7 @@ import type { ServiceCommandScheduleInput } from "@/service/types/ServiceSchedul
12
12
  import {
13
13
  normalizeRunAtMsOrThrow,
14
14
  parseScheduledRunAtMsOrThrow,
15
- } from "@/service/schedule/Time.js";
15
+ } from "@/service/core/schedule/Time.js";
16
16
 
17
17
  type JsonRecord = Record<string, unknown>;
18
18
 
@@ -7,7 +7,7 @@
7
7
  */
8
8
 
9
9
  import type { AgentContext } from "@/core/AgentContextTypes.js";
10
- import type { ServiceScheduleStore } from "./Store.js";
10
+ import type { ServiceScheduleStore } from "@/service/core/schedule/Store.js";
11
11
  import { runServiceCommand } from "@/service/core/Manager.js";
12
12
 
13
13
  /**
@@ -14,7 +14,6 @@ import type {
14
14
  ScheduledJobRecord,
15
15
  ScheduledJobStatus,
16
16
  } from "@/service/types/ServiceSchedule.js";
17
- import type { JsonValue } from "@/types/common/Json.js";
18
17
  import { generateId } from "@/utils/Id.js";
19
18
  import { getDowncityScheduleDbPath } from "@/config/Paths.js";
20
19
 
@@ -318,7 +317,10 @@ export class ServiceScheduleStore {
318
317
  /**
319
318
  * 执行 pending -> target 的状态迁移。
320
319
  */
321
- private transitionPendingJob(jobId: string, status: "running" | "cancelled"): boolean {
320
+ private transitionPendingJob(
321
+ jobId: string,
322
+ status: "running" | "cancelled",
323
+ ): boolean {
322
324
  const current = this.getJobById(jobId);
323
325
  if (!current || current.status !== "pending") {
324
326
  return false;
@@ -4,7 +4,7 @@
4
4
  * 关键点(中文)
5
5
  * - 这里集中声明 service 体系的共享契约。
6
6
  * - 这些类型会被 service 管理层、内建 service 与测试多处复用,因此收敛在 `service/types/`。
7
- * - `service/core/ServiceManager.ts` 之后只保留门面 re-export,不再承担类型源文件职责。
7
+ * - service 共享契约统一放在 `service/types/`,避免管理层门面文件承载类型来源职责。
8
8
  */
9
9
 
10
10
  import type { Command } from "commander";