@plurnk/plurnk-service 1.23.0 → 1.25.0

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 (215) hide show
  1. package/.env.defaults +17 -15
  2. package/INSTALL.md +96 -20
  3. package/README.md +2 -2
  4. package/SPEC.md +519 -206
  5. package/dist/Paths.d.ts +1 -0
  6. package/dist/Paths.d.ts.map +1 -1
  7. package/dist/Paths.js +1 -0
  8. package/dist/Paths.js.map +1 -1
  9. package/dist/build-info.json +1 -1
  10. package/dist/core/AdministrativeLoop.d.ts +1 -1
  11. package/dist/core/AdministrativeLoop.d.ts.map +1 -1
  12. package/dist/core/AdministrativeLoop.js +5 -5
  13. package/dist/core/AdministrativeLoop.js.map +1 -1
  14. package/dist/core/AdmittedTurnExecutor.d.ts +3 -2
  15. package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
  16. package/dist/core/AdmittedTurnExecutor.js +14 -1
  17. package/dist/core/AdmittedTurnExecutor.js.map +1 -1
  18. package/dist/core/CapabilityResolver.js +1 -1
  19. package/dist/core/CapabilityResolver.js.map +1 -1
  20. package/dist/core/DataStatementRunner.d.ts.map +1 -1
  21. package/dist/core/DataStatementRunner.js +1 -3
  22. package/dist/core/DataStatementRunner.js.map +1 -1
  23. package/dist/core/Dispatcher.d.ts +10 -0
  24. package/dist/core/Dispatcher.d.ts.map +1 -1
  25. package/dist/core/Dispatcher.js +71 -18
  26. package/dist/core/Dispatcher.js.map +1 -1
  27. package/dist/core/Dispatcher.sql +0 -7
  28. package/dist/core/Engine.d.ts +2 -2
  29. package/dist/core/Engine.d.ts.map +1 -1
  30. package/dist/core/ExecutorRegistry.d.ts +16 -4
  31. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  32. package/dist/core/ExecutorRegistry.js +31 -31
  33. package/dist/core/ExecutorRegistry.js.map +1 -1
  34. package/dist/core/FabricatedLog.d.ts +2 -0
  35. package/dist/core/FabricatedLog.d.ts.map +1 -1
  36. package/dist/core/FabricatedLog.js +18 -7
  37. package/dist/core/FabricatedLog.js.map +1 -1
  38. package/dist/core/HostPaths.d.ts +7 -1
  39. package/dist/core/HostPaths.d.ts.map +1 -1
  40. package/dist/core/HostPaths.js +25 -12
  41. package/dist/core/HostPaths.js.map +1 -1
  42. package/dist/core/LogEntryProjection.d.ts +1 -0
  43. package/dist/core/LogEntryProjection.d.ts.map +1 -1
  44. package/dist/core/LogEntryProjection.js +10 -0
  45. package/dist/core/LogEntryProjection.js.map +1 -1
  46. package/dist/core/LoopDriver.d.ts.map +1 -1
  47. package/dist/core/LoopDriver.js +8 -1
  48. package/dist/core/LoopDriver.js.map +1 -1
  49. package/dist/core/LoopLifecycle.d.ts +1 -1
  50. package/dist/core/LoopLifecycle.js +1 -1
  51. package/dist/core/LoopLifecycle.sql +2 -2
  52. package/dist/core/LoopPolicies.d.ts.map +1 -1
  53. package/dist/core/LoopPolicies.js +12 -7
  54. package/dist/core/LoopPolicies.js.map +1 -1
  55. package/dist/core/OperatorConfig.d.ts.map +1 -1
  56. package/dist/core/OperatorConfig.js +97 -51
  57. package/dist/core/OperatorConfig.js.map +1 -1
  58. package/dist/core/PacketBuilder.d.ts +2 -0
  59. package/dist/core/PacketBuilder.d.ts.map +1 -1
  60. package/dist/core/PacketBuilder.js +44 -32
  61. package/dist/core/PacketBuilder.js.map +1 -1
  62. package/dist/core/PacketBuilder.sql +3 -1
  63. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  64. package/dist/core/SchemeRegistry.js +3 -2
  65. package/dist/core/SchemeRegistry.js.map +1 -1
  66. package/dist/core/TurnDispositionHandler.d.ts +1 -1
  67. package/dist/core/TurnDispositionHandler.d.ts.map +1 -1
  68. package/dist/core/TurnDispositionHandler.js +6 -15
  69. package/dist/core/TurnDispositionHandler.js.map +1 -1
  70. package/dist/core/TurnMaterialization.js +1 -1
  71. package/dist/core/TurnMaterialization.js.map +1 -1
  72. package/dist/core/TurnOps.d.ts +1 -0
  73. package/dist/core/TurnOps.d.ts.map +1 -1
  74. package/dist/core/TurnOps.js +18 -0
  75. package/dist/core/TurnOps.js.map +1 -1
  76. package/dist/core/TurnRunner.d.ts +6 -0
  77. package/dist/core/TurnRunner.d.ts.map +1 -1
  78. package/dist/core/TurnRunner.js +18 -8
  79. package/dist/core/TurnRunner.js.map +1 -1
  80. package/dist/core/TurnSources.sql +0 -15
  81. package/dist/core/env-defaults.d.ts +12 -1
  82. package/dist/core/env-defaults.d.ts.map +1 -1
  83. package/dist/core/env-defaults.js +46 -7
  84. package/dist/core/env-defaults.js.map +1 -1
  85. package/dist/core/file-creation-policy.d.ts.map +1 -1
  86. package/dist/core/file-creation-policy.js +2 -1
  87. package/dist/core/file-creation-policy.js.map +1 -1
  88. package/dist/core/packet-wire.d.ts +10 -2
  89. package/dist/core/packet-wire.d.ts.map +1 -1
  90. package/dist/core/packet-wire.js +87 -69
  91. package/dist/core/packet-wire.js.map +1 -1
  92. package/dist/core/results.d.ts +2 -0
  93. package/dist/core/results.d.ts.map +1 -1
  94. package/dist/core/results.js +7 -0
  95. package/dist/core/results.js.map +1 -1
  96. package/dist/digest/Digest.d.ts.map +1 -1
  97. package/dist/digest/Digest.js +10 -4
  98. package/dist/digest/Digest.js.map +1 -1
  99. package/dist/digest/DigestRender.d.ts.map +1 -1
  100. package/dist/digest/DigestRender.js +51 -22
  101. package/dist/digest/DigestRender.js.map +1 -1
  102. package/dist/digest/DigestRequiem.d.ts.map +1 -1
  103. package/dist/digest/DigestRequiem.js +10 -4
  104. package/dist/digest/DigestRequiem.js.map +1 -1
  105. package/dist/digest/digest-rows.d.ts +9 -1
  106. package/dist/digest/digest-rows.d.ts.map +1 -1
  107. package/dist/digest/digest-rows.js.map +1 -1
  108. package/dist/digest/digest.sql +16 -0
  109. package/dist/observe/init.d.ts +1 -0
  110. package/dist/observe/init.d.ts.map +1 -1
  111. package/dist/observe/init.js +5 -1
  112. package/dist/observe/init.js.map +1 -1
  113. package/dist/schemes/EffectPolicy.d.ts.map +1 -1
  114. package/dist/schemes/EffectPolicy.js +4 -4
  115. package/dist/schemes/EffectPolicy.js.map +1 -1
  116. package/dist/schemes/Exec.d.ts +1 -0
  117. package/dist/schemes/Exec.d.ts.map +1 -1
  118. package/dist/schemes/Exec.js +30 -14
  119. package/dist/schemes/Exec.js.map +1 -1
  120. package/dist/schemes/ExecScheduler.d.ts.map +1 -1
  121. package/dist/schemes/ExecScheduler.js +4 -3
  122. package/dist/schemes/ExecScheduler.js.map +1 -1
  123. package/dist/schemes/ExecScratch.d.ts.map +1 -1
  124. package/dist/schemes/ExecScratch.js +2 -1
  125. package/dist/schemes/ExecScratch.js.map +1 -1
  126. package/dist/schemes/File.d.ts.map +1 -1
  127. package/dist/schemes/File.js +15 -10
  128. package/dist/schemes/File.js.map +1 -1
  129. package/dist/schemes/Log.d.ts.map +1 -1
  130. package/dist/schemes/Log.js +25 -3
  131. package/dist/schemes/Log.js.map +1 -1
  132. package/dist/server/AgentRoots.d.ts +6 -0
  133. package/dist/server/AgentRoots.d.ts.map +1 -0
  134. package/dist/server/AgentRoots.js +25 -0
  135. package/dist/server/AgentRoots.js.map +1 -0
  136. package/dist/server/ConfigurationDiagnostics.d.ts +12 -0
  137. package/dist/server/ConfigurationDiagnostics.d.ts.map +1 -0
  138. package/dist/server/ConfigurationDiagnostics.js +40 -0
  139. package/dist/server/ConfigurationDiagnostics.js.map +1 -0
  140. package/dist/server/Daemon.d.ts +11 -5
  141. package/dist/server/Daemon.d.ts.map +1 -1
  142. package/dist/server/Daemon.js +124 -48
  143. package/dist/server/Daemon.js.map +1 -1
  144. package/dist/server/DaemonModule.d.ts +11 -4
  145. package/dist/server/DaemonModule.d.ts.map +1 -1
  146. package/dist/server/EnvFunctionality.d.ts.map +1 -1
  147. package/dist/server/EnvFunctionality.js +5 -2
  148. package/dist/server/EnvFunctionality.js.map +1 -1
  149. package/dist/server/Functionality.d.ts +6 -0
  150. package/dist/server/Functionality.d.ts.map +1 -1
  151. package/dist/server/Functionality.js +173 -37
  152. package/dist/server/Functionality.js.map +1 -1
  153. package/dist/server/FunctionalityManager.js +6 -6
  154. package/dist/server/FunctionalityManager.js.map +1 -1
  155. package/dist/server/MembersFunctionality.d.ts.map +1 -1
  156. package/dist/server/MembersFunctionality.js +13 -41
  157. package/dist/server/MembersFunctionality.js.map +1 -1
  158. package/dist/server/PluginSources.d.ts +20 -0
  159. package/dist/server/PluginSources.d.ts.map +1 -0
  160. package/dist/server/PluginSources.js +52 -0
  161. package/dist/server/PluginSources.js.map +1 -0
  162. package/dist/server/PlurnkSkill.js +1 -1
  163. package/dist/server/PlurnkSkill.js.map +1 -1
  164. package/dist/server/Retention.d.ts.map +1 -1
  165. package/dist/server/Retention.js +11 -30
  166. package/dist/server/Retention.js.map +1 -1
  167. package/dist/server/ServiceModules.d.ts +1 -0
  168. package/dist/server/ServiceModules.d.ts.map +1 -1
  169. package/dist/server/ServiceModules.js +9 -3
  170. package/dist/server/ServiceModules.js.map +1 -1
  171. package/dist/server/SkillSource.d.ts +37 -0
  172. package/dist/server/SkillSource.d.ts.map +1 -0
  173. package/dist/server/SkillSource.js +267 -0
  174. package/dist/server/SkillSource.js.map +1 -0
  175. package/dist/server/SkillsFunctionality.d.ts +8 -27
  176. package/dist/server/SkillsFunctionality.d.ts.map +1 -1
  177. package/dist/server/SkillsFunctionality.js +218 -270
  178. package/dist/server/SkillsFunctionality.js.map +1 -1
  179. package/dist/server/WorkerModelResolver.d.ts +1 -2
  180. package/dist/server/WorkerModelResolver.d.ts.map +1 -1
  181. package/dist/server/WorkerModelResolver.js +18 -19
  182. package/dist/server/WorkerModelResolver.js.map +1 -1
  183. package/dist/server/WorkspacePlugins.d.ts +25 -0
  184. package/dist/server/WorkspacePlugins.d.ts.map +1 -0
  185. package/dist/server/WorkspacePlugins.js +43 -0
  186. package/dist/server/WorkspacePlugins.js.map +1 -0
  187. package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
  188. package/dist/server/dispatch-as-plurnk.js +3 -1
  189. package/dist/server/dispatch-as-plurnk.js.map +1 -1
  190. package/dist/server/envelope.js +1 -1
  191. package/dist/server/envelope.js.map +1 -1
  192. package/dist/server/loop-model.d.ts.map +1 -1
  193. package/dist/server/loop-model.js +1 -2
  194. package/dist/server/loop-model.js.map +1 -1
  195. package/dist/server/module-discovery.d.ts +6 -0
  196. package/dist/server/module-discovery.d.ts.map +1 -1
  197. package/dist/server/module-discovery.js +46 -24
  198. package/dist/server/module-discovery.js.map +1 -1
  199. package/dist/server/skills-problems.d.ts +8 -0
  200. package/dist/server/skills-problems.d.ts.map +1 -0
  201. package/dist/server/skills-problems.js +18 -0
  202. package/dist/server/skills-problems.js.map +1 -0
  203. package/dist/service.d.ts.map +1 -1
  204. package/dist/service.js +55 -45
  205. package/dist/service.js.map +1 -1
  206. package/docs/env.md +7 -8
  207. package/docs/members.md +4 -3
  208. package/docs/skills.md +45 -22
  209. package/migrations/012_emission.sql +77 -0
  210. package/package.json +38 -36
  211. package/plurnk.service +29 -0
  212. package/dist/core/PreviousEmission.d.ts +0 -14
  213. package/dist/core/PreviousEmission.d.ts.map +0 -1
  214. package/dist/core/PreviousEmission.js +0 -24
  215. package/dist/core/PreviousEmission.js.map +0 -1
@@ -20,11 +20,17 @@ export default class HostPaths {
20
20
  readonly configFile: string;
21
21
  readonly policyFile: string;
22
22
  readonly databaseFile: string;
23
+ readonly globalAgentsDir: string;
24
+ readonly plurnkSkillsDir: string;
23
25
  readonly globalSkillsDir: string;
24
- readonly globalSkillsLockFile: string;
26
+ readonly plurnkPluginsDir: string;
27
+ readonly globalPluginsDir: string;
25
28
  readonly legacyDir: string;
26
29
  constructor({ env, home }?: HostPathsOptions);
27
30
  projectSkillsDir(projectRoot: string): string;
31
+ projectPluginsDir(projectRoot: string): string;
32
+ projectAgentsDir(projectRoot: string): string;
33
+ pluginDataDir(pluginName: string, canonicalRoot: string): string;
28
34
  expandUserPath(value: string): string;
29
35
  }
30
36
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"HostPaths.d.ts","sourceRoot":"","sources":["../../src/core/HostPaths.ts"],"names":[],"mappings":"AAGA,KAAK,gBAAgB,GAAG;IACpB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,KAAK,WAAW,GAAG,iBAAiB,GAAG,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAMjH,MAAM,CAAC,OAAO,OAAO,SAAS;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,SAAS,WAAW,EAAE,CAAC;IAE5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,YAAY,EAAE,GAAiB,EAAE,IAAgB,EAAE,GAAE,gBAAqB,EAgEzE;IAED,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE5C;IAED,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGpC;CACJ"}
1
+ {"version":3,"file":"HostPaths.d.ts","sourceRoot":"","sources":["../../src/core/HostPaths.ts"],"names":[],"mappings":"AAIA,KAAK,gBAAgB,GAAG;IACpB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,KAAK,WAAW,GAAG,iBAAiB,GAAG,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAMjH,MAAM,CAAC,OAAO,OAAO,SAAS;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,SAAS,WAAW,EAAE,CAAC;IAE5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,YAAY,EAAE,GAAiB,EAAE,IAAgB,EAAE,GAAE,gBAAqB,EA+DzE;IAED,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE5C;IAED,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE7C;IAED,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE5C;IAGD,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAE/D;IAED,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGpC;CACJ"}
@@ -1,3 +1,4 @@
1
+ import { createHash } from "node:crypto";
1
2
  import { homedir } from "node:os";
2
3
  import { isAbsolute, join, resolve } from "node:path";
3
4
  const APP_DIRECTORY = "plurnk";
@@ -21,8 +22,11 @@ export default class HostPaths {
21
22
  configFile;
22
23
  policyFile;
23
24
  databaseFile;
25
+ globalAgentsDir;
26
+ plurnkSkillsDir;
24
27
  globalSkillsDir;
25
- globalSkillsLockFile;
28
+ plurnkPluginsDir;
29
+ globalPluginsDir;
26
30
  legacyDir;
27
31
  constructor({ env = process.env, home = homedir() } = {}) {
28
32
  this.home = resolve(home);
@@ -49,11 +53,9 @@ export default class HostPaths {
49
53
  }
50
54
  // Configuration is operator input and is never moved under a state root.
51
55
  this.configHome = base("XDG_CONFIG_HOME", ".config");
52
- let xdgStateHome;
53
56
  if (this.stateRoot === null) {
54
57
  this.dataHome = base("XDG_DATA_HOME", join(".local", "share"));
55
58
  this.stateHome = base("XDG_STATE_HOME", join(".local", "state"));
56
- xdgStateHome = this.stateHome;
57
59
  this.cacheHome = base("XDG_CACHE_HOME", ".cache");
58
60
  const runtime = env.XDG_RUNTIME_DIR;
59
61
  if (runtime === undefined || runtime.length === 0) {
@@ -68,7 +70,6 @@ export default class HostPaths {
68
70
  }
69
71
  }
70
72
  else {
71
- xdgStateHome = base("XDG_STATE_HOME", join(".local", "state"));
72
73
  this.dataHome = join(this.stateRoot, "data");
73
74
  this.stateHome = join(this.stateRoot, "state");
74
75
  this.cacheHome = join(this.stateRoot, "cache");
@@ -83,17 +84,29 @@ export default class HostPaths {
83
84
  this.configFile = join(this.configDir, ".env");
84
85
  this.policyFile = join(this.configDir, "AGENTS.md");
85
86
  this.databaseFile = join(this.dataDir, "plurnk.db");
86
- // The upstream `skills` CLI's universal global target is deliberately
87
- // shared across agents and is rooted independently of application config
88
- // and of any state root: a private daemon still reads the user's skills.
89
- this.globalSkillsDir = join(this.home, ".agents", "skills");
90
- this.globalSkillsLockFile = env.XDG_STATE_HOME
91
- ? join(xdgStateHome, "skills", ".skill-lock.json")
92
- : join(this.home, ".agents", ".skill-lock.json");
87
+ // {§skills-functionality} — plurnk-only skills are configuration; the global
88
+ // root is shared across agents and rooted independently of application
89
+ // config and of any state root: a private daemon still reads the user's skills.
90
+ this.plurnkSkillsDir = join(this.configDir, "skills");
91
+ this.globalAgentsDir = join(this.home, ".agents");
92
+ this.globalSkillsDir = join(this.globalAgentsDir, "skills");
93
+ // {§agent-plugins-hosting} — plugins are configuration, found like skills; their data is data.
94
+ this.plurnkPluginsDir = join(this.configDir, "plugins");
95
+ this.globalPluginsDir = join(this.globalAgentsDir, "plugins");
93
96
  this.legacyDir = join(this.home, ".plurnk");
94
97
  }
95
98
  projectSkillsDir(projectRoot) {
96
- return join(resolve(projectRoot), ".agents", "skills");
99
+ return join(this.projectAgentsDir(projectRoot), "skills");
100
+ }
101
+ projectPluginsDir(projectRoot) {
102
+ return join(this.projectAgentsDir(projectRoot), "plugins");
103
+ }
104
+ projectAgentsDir(projectRoot) {
105
+ return join(resolve(projectRoot), ".agents");
106
+ }
107
+ // {§agent-plugins-hosting} — one plugin's PLUGIN_DATA, kept across its updates.
108
+ pluginDataDir(pluginName, canonicalRoot) {
109
+ return join(this.dataDir, "plugins", pluginName, createHash("sha256").update(canonicalRoot).digest("hex"));
97
110
  }
98
111
  expandUserPath(value) {
99
112
  if (value === "~")
@@ -1 +1 @@
1
- {"version":3,"file":"HostPaths.js","sourceRoot":"","sources":["../../src/core/HostPaths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HostPaths.js","sourceRoot":"","sources":["../../src/core/HostPaths.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ interface LogEntryProjectionRow {
7
7
  export default class LogEntryProjection {
8
8
  #private;
9
9
  static op(row: LogEntryProjectionRow): string | null;
10
+ static isEmission(row: LogEntryProjectionRow): boolean;
10
11
  static leaf(row: LogEntryProjectionRow): string;
11
12
  static base(coordinate: string): string;
12
13
  static coordinate(coordinate: string, row: LogEntryProjectionRow): string;
@@ -1 +1 @@
1
- {"version":3,"file":"LogEntryProjection.d.ts","sourceRoot":"","sources":["../../src/core/LogEntryProjection.ts"],"names":[],"mappings":"AAGA,UAAU,qBAAqB;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;CACzB;AAID,MAAM,CAAC,OAAO,OAAO,kBAAkB;;IAUnC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,qBAAqB,GAAG,MAAM,GAAG,IAAI,CAOnD;IAED,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,qBAAqB,GAAG,MAAM,CAO9C;IAED,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEtC;IAED,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,GAAG,MAAM,CAGxE;IAED,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAIzE;CAEJ"}
1
+ {"version":3,"file":"LogEntryProjection.d.ts","sourceRoot":"","sources":["../../src/core/LogEntryProjection.ts"],"names":[],"mappings":"AAGA,UAAU,qBAAqB;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;CACzB;AAID,MAAM,CAAC,OAAO,OAAO,kBAAkB;;IAUnC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,qBAAqB,GAAG,MAAM,GAAG,IAAI,CAOnD;IAID,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAIrD;IAED,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,qBAAqB,GAAG,MAAM,CAQ9C;IAED,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEtC;IAED,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,GAAG,MAAM,CAGxE;IAED,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAIzE;CAEJ"}
@@ -21,7 +21,17 @@ export default class LogEntryProjection {
21
21
  && attrs.kind === "entry_materialized";
22
22
  return materializedEntry ? "READ" : op;
23
23
  }
24
+ // {§emission-row}: the announcement of an admitted emission, stored as the harness's READ of its
25
+ // own turn's ops source and addressed by its own leaf. The schema admits the kind only on that shape.
26
+ static isEmission(row) {
27
+ if (row.op !== "READ")
28
+ return false;
29
+ const attrs = LogEntryProjection.#decode(row.attrs, "attrs");
30
+ return attrs !== null && typeof attrs === "object" && attrs.kind === "emission";
31
+ }
24
32
  static leaf(row) {
33
+ if (LogEntryProjection.isEmission(row))
34
+ return "emission";
25
35
  const op = LogEntryProjection.op(row);
26
36
  // An execution row's leaf is its runtime: the op as written.
27
37
  if (isExecutionOp(op))
@@ -1 +1 @@
1
- {"version":3,"file":"LogEntryProjection.js","sourceRoot":"","sources":["../../src/core/LogEntryProjection.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AASzD,4EAA4E;AAC5E,wDAAwD;AACxD,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACnC,MAAM,CAAC,OAAO,CAAC,KAAc,EAAE,KAAa;QACxC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAY,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,SAAS,CAAC,uCAAuC,KAAK,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACzF,CAAC;IACL,CAAC;IAED,MAAM,CAAC,EAAE,CAAC,GAA0B;QAChC,MAAM,EAAE,GAAG,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3E,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7D,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,KAAK,MAAM;eAC5D,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;eAC1C,KAA4B,CAAC,IAAI,KAAK,oBAAoB,CAAC;QACnE,OAAO,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,GAA0B;QAClC,MAAM,EAAE,GAAG,kBAAkB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACtC,6DAA6D;QAC7D,IAAI,aAAa,CAAC,EAAE,CAAC;YAAE,OAAO,EAAE,CAAC;QACjC,IAAI,EAAE,KAAK,IAAI;YAAE,OAAO,EAAE,CAAC;QAC3B,OAAO,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QACjD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,UAAkB;QAC1B,OAAO,UAAU,CAAC,OAAO,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,UAAkB,EAAE,GAA0B;QAC5D,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,OAAO,GAAG,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,MAAqB,EAAE,GAA0B;QAC5D,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACjC,OAAO,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC;gBAChC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACpE,CAAC;CAEJ"}
1
+ {"version":3,"file":"LogEntryProjection.js","sourceRoot":"","sources":["../../src/core/LogEntryProjection.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"LoopDriver.d.ts","sourceRoot":"","sources":["../../src/core/LoopDriver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAE/C,OAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAGzC,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,UAAmC,MAAM,iBAAiB,CAAC;AAGlE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAM/E,KAAK,cAAc,GAAG,WAAW,GAAG,kBAAkB,GAAG,cAAc,GAAG,mBAAmB,GAAG,cAAc,GAAG,sBAAsB,CAAC;AACxI,KAAK,UAAU,GAAG;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,cAAc,GAAG,sBAAsB,GAAG,UAAU,GAAG,IAAI,CAAC;CACvE,CAAC;AAKF,MAAM,CAAC,OAAO,OAAO,UAAU;;IAW3B,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE;QACzH,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACtC,EAAE,EAAE,EAAE,CAAC;QACP,SAAS,EAAE,aAAa,CAAC;QACzB,OAAO,EAAE,cAAc,CAAC;QACxB,OAAO,EAAE,aAAa,CAAC;QACvB,OAAO,EAAE,UAAU,CAAC;QACpB,oBAAoB,EAAE,oBAAoB,CAAC;QAC3C,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,CAAC;QACzD,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;KAC9F,EAUA;IAEK,OAAO,CAAC,EACV,QAAQ,EAAE,aAAwB,EAAE,QAAQ,EAAE,KAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EACvF,QAAuD,EACvD,UAA0D,EAC1D,SAAwD,EACxD,cAAmE,EACnE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE;QACjC,QAAQ,EAAE,QAAQ,CAAC;QACnB,aAAa,CAAC,EAAE,QAAQ,CAAC;QACzB,QAAQ,EAAE,WAAW,EAAE,CAAC;QAExB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;QAC1C,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAC5D,GAAG,OAAO,CAAC,UAAU,CAAC,CAuOtB;CAEJ"}
1
+ {"version":3,"file":"LoopDriver.d.ts","sourceRoot":"","sources":["../../src/core/LoopDriver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAI/C,OAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAGzC,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,UAAmC,MAAM,iBAAiB,CAAC;AAGlE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAM/E,KAAK,cAAc,GAAG,WAAW,GAAG,kBAAkB,GAAG,cAAc,GAAG,mBAAmB,GAAG,cAAc,GAAG,sBAAsB,CAAC;AACxI,KAAK,UAAU,GAAG;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,cAAc,GAAG,sBAAsB,GAAG,UAAU,GAAG,IAAI,CAAC;CACvE,CAAC;AAKF,MAAM,CAAC,OAAO,OAAO,UAAU;;IAW3B,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE;QACzH,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACtC,EAAE,EAAE,EAAE,CAAC;QACP,SAAS,EAAE,aAAa,CAAC;QACzB,OAAO,EAAE,cAAc,CAAC;QACxB,OAAO,EAAE,aAAa,CAAC;QACvB,OAAO,EAAE,UAAU,CAAC;QACpB,oBAAoB,EAAE,oBAAoB,CAAC;QAC3C,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,CAAC;QACzD,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;KAC9F,EAUA;IAEK,OAAO,CAAC,EACV,QAAQ,EAAE,aAAwB,EAAE,QAAQ,EAAE,KAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EACvF,QAAuD,EACvD,UAA0D,EAC1D,SAAwD,EACxD,cAAmE,EACnE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE;QACjC,QAAQ,EAAE,QAAQ,CAAC;QACnB,aAAa,CAAC,EAAE,QAAQ,CAAC;QACzB,QAAQ,EAAE,WAAW,EAAE,CAAC;QAExB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;QAC1C,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAC5D,GAAG,OAAO,CAAC,UAAU,CAAC,CA4OtB;CAEJ"}
@@ -1,4 +1,5 @@
1
1
  import { setTimeout as delay } from "node:timers/promises";
2
+ import { isDeepStrictEqual } from "node:util";
2
3
  import Results from "./results.js";
3
4
  import { Knob } from "@plurnk/plurnk-meta";
4
5
  import LoopPolicyReader from "./LoopPolicyReader.js";
@@ -38,6 +39,7 @@ export default class LoopDriver {
38
39
  const turnIds = await this.#lifecycle.turnIds(loopId);
39
40
  let modelTurnCount = await this.#lifecycle.modelTurnCount(loopId);
40
41
  let invalidEmissionRecoveryEntryId = null;
42
+ let workspaceNotices = [];
41
43
  const loopAbort = new AbortController();
42
44
  // Native composition retains worker cancellation for streams surviving a wait
43
45
  // without leaving one caller-signal listener per execution segment.
@@ -145,7 +147,12 @@ export default class LoopDriver {
145
147
  const releaseWorkspace = await this.#acquireWorkspaceTurn(workspaceId, workerId, executionSignal);
146
148
  try {
147
149
  executionSignal.throwIfAborted();
148
- await this.#workspaceTurnStarting?.({ workspaceId, workerId, loopId });
150
+ const notices = await this.#workspaceTurnStarting?.({ workspaceId, workerId, loopId }) ?? [];
151
+ if (!isDeepStrictEqual(notices, workspaceNotices)) {
152
+ for (const notice of notices)
153
+ this.#notices.push(workspaceId, workerId, loopId, notice);
154
+ workspaceNotices = notices;
155
+ }
149
156
  turn = await observed(// {§observability-boundary}
150
157
  "loop.turn", { workerId, "loop.id": loopId }, async (span) => {
151
158
  const t = await this.#runTurn({
@@ -1 +1 @@
1
- {"version":3,"file":"LoopDriver.js","sourceRoot":"","sources":["../../src/core/LoopDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LoopDriver.js","sourceRoot":"","sources":["../../src/core/LoopDriver.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,7 @@ export default class LoopLifecycle {
32
32
  inheritPoll(loopId: number, revision: number, pollAt: number): Promise<void>;
33
33
  finish(loopId: number, result: SchemeResult, options?: {
34
34
  terminatedBy?: "cancel" | null;
35
- requireAnswered?: boolean;
35
+ requireObserved?: boolean;
36
36
  }): Promise<SchemeResult | null>;
37
37
  static address(db: Db, loopId: number): Promise<string>;
38
38
  status(loopId: number): Promise<number>;
@@ -106,7 +106,7 @@ export default class LoopLifecycle {
106
106
  status,
107
107
  result: JSON.stringify(exact),
108
108
  terminated_by: options.terminatedBy ?? null,
109
- require_answered: options.requireAnswered === true ? 1 : 0,
109
+ require_observed: options.requireObserved === true ? 1 : 0,
110
110
  });
111
111
  if (row === undefined)
112
112
  return null;
@@ -47,8 +47,8 @@ SET status = $status,
47
47
  terminal_result = $result,
48
48
  terminated_by = $terminated_by
49
49
  WHERE id = $loop_id AND status IN (100, 102, 202)
50
- AND ($require_answered = 0 OR NOT EXISTS (SELECT 1 FROM unanswered_messages WHERE loop_id = loops.id))
51
- AND ($require_answered = 0 OR observed_wake_revision = (SELECT wake_revision FROM workers WHERE id = loops.worker_id))
50
+ AND ($require_observed = 0 OR NOT EXISTS (SELECT 1 FROM loop_messages WHERE loop_id = loops.id AND log_entry_id IS NULL))
51
+ AND ($require_observed = 0 OR observed_wake_revision = (SELECT wake_revision FROM workers WHERE id = loops.worker_id))
52
52
  RETURNING terminal_result;
53
53
 
54
54
  -- PREP: lifecycle_loop_status
@@ -1 +1 @@
1
- {"version":3,"file":"LoopPolicies.d.ts","sourceRoot":"","sources":["../../src/core/LoopPolicies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAOjH,MAAM,CAAC,OAAO,OAAO,YAAY;;IAI7B,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,UAAU,CAoBpD;IAGD,MAAM,CAAC,qBAAqB,IAAI,IAAI,CAInC;CAOJ"}
1
+ {"version":3,"file":"LoopPolicies.d.ts","sourceRoot":"","sources":["../../src/core/LoopPolicies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAOjH,MAAM,CAAC,OAAO,OAAO,YAAY;;IAI7B,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,UAAU,CAuBpD;IAGD,MAAM,CAAC,qBAAqB,IAAI,IAAI,CAInC;CAOJ"}
@@ -1,5 +1,5 @@
1
1
  import { PROPOSAL_POLICIES, Validator } from "@plurnk/plurnk-contracts";
2
- import { Knob } from "@plurnk/plurnk-meta";
2
+ import { ConfigurationError, Knob } from "@plurnk/plurnk-meta";
3
3
  import Results, { OperationFailureError } from "./results.js";
4
4
  // {§loop-policy-composition} — a loop's policy is what its creator stated over what the panel
5
5
  // says, composed once, where the loop is persisted. Every panel state is lawful: attendance picks
@@ -8,11 +8,16 @@ export default class LoopPolicies {
8
8
  // Nobody is present to review in an unattended loop, so review is not a choice there.
9
9
  static #UNATTENDED = PROPOSAL_POLICIES.filter((policy) => policy !== "review");
10
10
  static compose(stated) {
11
- const attended = stated.attended ?? Knob.flag("PLURNK_SERVICE_ATTENDED");
12
- const policy = {
13
- proposals: stated.proposals ?? LoopPolicies.#proposals(attended),
14
- attended,
15
- };
11
+ let policy;
12
+ try {
13
+ const attended = stated.attended ?? Knob.flag("PLURNK_SERVICE_ATTENDED");
14
+ policy = { proposals: stated.proposals ?? LoopPolicies.#proposals(attended), attended };
15
+ }
16
+ catch (cause) {
17
+ if (!(cause instanceof ConfigurationError))
18
+ throw cause;
19
+ throw new OperationFailureError(Results.configurationFailure(cause), { cause });
20
+ }
16
21
  if (Validator.validateLoopPolicy(policy).valid)
17
22
  return policy;
18
23
  throw new OperationFailureError(Results.failure("daemon:input", "loop-policy-invalid", 400, "An unattended loop cannot hold a proposal for review: nobody is present to answer.", {}, {
@@ -22,7 +27,7 @@ export default class LoopPolicies {
22
27
  retryable: false,
23
28
  }));
24
29
  }
25
- // An invalid panel fails boot by the knob's name, not the first loop.
30
+ // Startup diagnoses invalid defaults; explicit valid policy remains usable.
26
31
  static validateConfiguration() {
27
32
  Knob.flag("PLURNK_SERVICE_ATTENDED");
28
33
  LoopPolicies.#proposals(true);
@@ -1 +1 @@
1
- {"version":3,"file":"LoopPolicies.js","sourceRoot":"","sources":["../../src/core/LoopPolicies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAA2C,MAAM,0BAA0B,CAAC;AACjH,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,OAAO,EAAE,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE9D,8FAA8F;AAC9F,kGAAkG;AAClG,2FAA2F;AAC3F,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,sFAAsF;IACtF,MAAM,CAAU,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;IAExF,MAAM,CAAC,OAAO,CAAC,MAAyB;QACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG;YACX,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC;YAChE,QAAQ;SACX,CAAC;QACF,IAAI,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,KAAK;YAAE,OAAO,MAAM,CAAC;QAC9D,MAAM,IAAI,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAC3C,cAAc,EACd,qBAAqB,EACrB,GAAG,EACH,oFAAoF,EACpF,EAAE,EACF;YACI,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,yBAAyB;YAChC,QAAQ,EAAE,uDAAuD;YACjE,SAAS,EAAE,KAAK;SACnB,CACJ,CAAC,CAAC;IACP,CAAC;IAED,sEAAsE;IACtE,MAAM,CAAC,qBAAqB;QACxB,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACrC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,QAAiB;QAC/B,OAAO,QAAQ;YACX,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,0BAA0B,EAAE,iBAAiB,CAAC;YAC5D,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,qCAAqC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACvF,CAAC;CACJ"}
1
+ {"version":3,"file":"LoopPolicies.js","sourceRoot":"","sources":["../../src/core/LoopPolicies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAA2C,MAAM,0BAA0B,CAAC;AACjH,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,OAAO,EAAE,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE9D,8FAA8F;AAC9F,kGAAkG;AAClG,2FAA2F;AAC3F,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,sFAAsF;IACtF,MAAM,CAAU,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;IAExF,MAAM,CAAC,OAAO,CAAC,MAAyB;QACpC,IAAI,MAAkB,CAAC;QACvB,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACzE,MAAM,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC5F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,CAAC,KAAK,YAAY,kBAAkB,CAAC;gBAAE,MAAM,KAAK,CAAC;YACxD,MAAM,IAAI,qBAAqB,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,KAAK;YAAE,OAAO,MAAM,CAAC;QAC9D,MAAM,IAAI,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAC3C,cAAc,EACd,qBAAqB,EACrB,GAAG,EACH,oFAAoF,EACpF,EAAE,EACF;YACI,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,yBAAyB;YAChC,QAAQ,EAAE,uDAAuD;YACjE,SAAS,EAAE,KAAK;SACnB,CACJ,CAAC,CAAC;IACP,CAAC;IAED,4EAA4E;IAC5E,MAAM,CAAC,qBAAqB;QACxB,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACrC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,QAAiB;QAC/B,OAAO,QAAQ;YACX,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,0BAA0B,EAAE,iBAAiB,CAAC;YAC5D,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,qCAAqC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACvF,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"OperatorConfig.d.ts","sourceRoot":"","sources":["../../src/core/OperatorConfig.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAQ5C,MAAM,CAAC,OAAO,OAAO,cAAc;;IAU/B,MAAM,CAAC,UAAU,CAAC,KAAK,SAA8B,GAAG,MAAM,CAgD7D;IAED,OAAa,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA8B5E;CACJ"}
1
+ {"version":3,"file":"OperatorConfig.d.ts","sourceRoot":"","sources":["../../src/core/OperatorConfig.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAW5C,MAAM,CAAC,OAAO,OAAO,cAAc;;IAU/B,MAAM,CAAC,UAAU,CAAC,KAAK,SAA8B,GAAG,MAAM,CA4C7D;IAED,OAAa,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAgB5E;CACJ"}
@@ -1,9 +1,66 @@
1
+ var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
2
+ if (value !== null && value !== void 0) {
3
+ if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
4
+ var dispose, inner;
5
+ if (async) {
6
+ if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
7
+ dispose = value[Symbol.asyncDispose];
8
+ }
9
+ if (dispose === void 0) {
10
+ if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
11
+ dispose = value[Symbol.dispose];
12
+ if (async) inner = dispose;
13
+ }
14
+ if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
15
+ if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
16
+ env.stack.push({ value: value, dispose: dispose, async: async });
17
+ }
18
+ else if (async) {
19
+ env.stack.push({ async: true });
20
+ }
21
+ return value;
22
+ };
23
+ var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
24
+ return function (env) {
25
+ function fail(e) {
26
+ env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
27
+ env.hasError = true;
28
+ }
29
+ var r, s = 0;
30
+ function next() {
31
+ while (r = env.stack.pop()) {
32
+ try {
33
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
34
+ if (r.dispose) {
35
+ var result = r.dispose.call(r.value);
36
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
37
+ }
38
+ else s |= 1;
39
+ }
40
+ catch (e) {
41
+ fail(e);
42
+ }
43
+ }
44
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
45
+ if (env.hasError) throw env.error;
46
+ }
47
+ return next();
48
+ };
49
+ })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
50
+ var e = new Error(message);
51
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
52
+ });
1
53
  import { randomBytes } from "node:crypto";
2
54
  import { constants } from "node:fs";
3
- import { access, mkdir, readFile, rmdir, unlink, writeFile } from "node:fs/promises";
55
+ import { access, mkdir, mkdtempDisposable, readFile, rename, writeFile } from "node:fs/promises";
56
+ import { basename, dirname, join } from "node:path";
4
57
  const exists = async (path) => access(path, constants.F_OK)
5
58
  .then(() => true)
6
- .catch(() => false);
59
+ .catch((cause) => {
60
+ if (cause.code === "ENOENT")
61
+ return false;
62
+ throw cause;
63
+ });
7
64
  // {§operator-config-discovery} — the user owns this one ordinary dotenv file.
8
65
  // Package defaults remain package-owned and are projected on demand.
9
66
  export default class OperatorConfig {
@@ -38,24 +95,20 @@ export default class OperatorConfig {
38
95
  "# PLURNK_PROVIDERS_GBNF_local=~/.config/plurnk/local.gbnf",
39
96
  "# PLURNK_MODEL=local",
40
97
  "",
41
- "# AGENT SKILLS — project skills live in .agents/skills; user-global skills",
42
- "# live in ~/.agents/skills. Manage them per Worker with /skills (clients) or",
43
- "# the skills executor (model). Optional overrides of the standard machinery:",
44
- "# PLURNK_SERVICE_SKILLS_CLI=\"npx --yes skills\"",
45
- "# PLURNK_SERVICE_SKILLS_REGISTRY_URL=https://skills.sh",
98
+ "# AGENT SKILLS — project skills live in .agents/skills, plurnk-only skills in",
99
+ "# $XDG_CONFIG_HOME/plurnk/skills, and user-global skills in ~/.agents/skills.",
100
+ "# Bind them per workspace with /skills (clients) or the skills executor (model).",
101
+ "# Local folders stay live; Git/archive sources are retained workspace copies.",
46
102
  "",
47
- "# OPTIONAL BRAVE SEARCH MCP — uncomment the complete block and provide the key.",
48
- "# BRAVE_API_KEY=\"...\"",
49
- "# PLURNK_MCP_BRAVE=npx",
50
- "# PLURNK_MCP_BRAVE_ARGS=[\"-y\",\"@brave/brave-search-mcp-server@2.1.0\"]",
51
- "# PLURNK_MCP_BRAVE_ENV={\"BRAVE_API_KEY\":\"${BRAVE_API_KEY}\"}",
52
- "# PLURNK_MCP_BRAVE_TOOLS=[\"brave_web_search\",\"brave_news_search\"]",
53
- "# PLURNK_MCP_BRAVE_READ=[\"brave_web_search\",\"brave_news_search\"]",
54
- "# PLURNK_MCP_ENABLED=[\"brave\"]",
103
+ "# MCP SERVERS — complete definitions; declared servers are enabled unless explicitly disabled.",
104
+ "# /mcp add saves a workspace definition, without installing a plugin or rewriting this file.",
105
+ "# PLURNK_MCP_brave={\"name\":\"brave\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"@brave/brave-search-mcp-server@2.1.0\"]}",
106
+ "# PLURNK_MCP_brave_TOOLS=[\"brave_web_search\",\"brave_news_search\"]",
107
+ "# PLURNK_MCP_brave_ENABLED=0",
55
108
  "# File membership definitions ride the same shape ({§members-configuration}):",
56
- "# PLURNK_MEMBERS_DOCS=docs/**",
57
- "# PLURNK_MEMBERS_NO_LOCKS=!**/*.lock",
58
- "# PLURNK_MEMBERS_ENABLED=[\"docs\"]",
109
+ "# PLURNK_MEMBERS_docs=docs/**",
110
+ "# PLURNK_MEMBERS_no_locks=!**/*.lock",
111
+ "# PLURNK_MEMBERS_no_locks_ENABLED=0",
59
112
  "",
60
113
  "# OPTIONAL TAVILY HTML MATERIALIZATION — the plugin ships with the service;",
61
114
  "# uncomment both lines to select it.",
@@ -65,42 +118,35 @@ export default class OperatorConfig {
65
118
  ].join("\n");
66
119
  }
67
120
  static async ensure(paths, policySource) {
68
- if (await exists(paths.configDir))
69
- return false;
70
- const policy = await readFile(policySource, "utf8");
71
- const firstCreated = await mkdir(paths.configDir, { recursive: true, mode: 0o700 });
72
- const createdFiles = [];
121
+ const env_1 = { stack: [], error: void 0, hasError: false };
73
122
  try {
74
- await writeFile(paths.configFile, OperatorConfig.renderSeed(), { encoding: "utf8", flag: "wx", mode: 0o600 });
75
- createdFiles.push(paths.configFile);
76
- await writeFile(paths.policyFile, policy, { encoding: "utf8", flag: "wx", mode: 0o600 });
77
- createdFiles.push(paths.policyFile);
78
- return true;
79
- }
80
- catch (cause) {
81
- const rollbackErrors = [];
82
- for (const file of createdFiles.toReversed()) {
83
- try {
84
- await unlink(file);
85
- }
86
- catch (rollbackCause) {
87
- if (rollbackCause.code !== "ENOENT")
88
- rollbackErrors.push(rollbackCause);
89
- }
123
+ if (await exists(paths.configDir))
124
+ return false;
125
+ const policy = await readFile(policySource, "utf8");
126
+ await mkdir(dirname(paths.configDir), { recursive: true, mode: 0o700 });
127
+ const stage = __addDisposableResource(env_1, await mkdtempDisposable(join(dirname(paths.configDir), `.${basename(paths.configDir)}-`)), true);
128
+ await writeFile(join(stage.path, basename(paths.configFile)), OperatorConfig.renderSeed(), { encoding: "utf8", flag: "wx", mode: 0o600 });
129
+ await writeFile(join(stage.path, basename(paths.policyFile)), policy, { encoding: "utf8", flag: "wx", mode: 0o600 });
130
+ // {§operator-config-discovery}: only a complete seed becomes visible.
131
+ try {
132
+ await rename(stage.path, paths.configDir);
90
133
  }
91
- if (firstCreated !== undefined) {
92
- try {
93
- await rmdir(paths.configDir);
94
- }
95
- catch (rollbackCause) {
96
- if (rollbackCause.code !== "ENOENT")
97
- rollbackErrors.push(rollbackCause);
98
- }
99
- }
100
- if (rollbackErrors.length > 0) {
101
- throw new AggregateError([cause, ...rollbackErrors], "operator config bootstrap failed and rollback was incomplete");
134
+ catch (cause) {
135
+ const code = cause.code;
136
+ if (code === "EEXIST" || code === "ENOTEMPTY")
137
+ return false;
138
+ throw cause;
102
139
  }
103
- throw cause;
140
+ return true;
141
+ }
142
+ catch (e_1) {
143
+ env_1.error = e_1;
144
+ env_1.hasError = true;
145
+ }
146
+ finally {
147
+ const result_1 = __disposeResources(env_1);
148
+ if (result_1)
149
+ await result_1;
104
150
  }
105
151
  }
106
152
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OperatorConfig.js","sourceRoot":"","sources":["../../src/core/OperatorConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OperatorConfig.js","sourceRoot":"","sources":["../../src/core/OperatorConfig.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,8 @@ export default class PacketBuilder {
23
23
  pathname: string;
24
24
  content: string;
25
25
  }>): void;
26
+ static validateConfiguration(env?: NodeJS.ProcessEnv): number;
27
+ emissionsFor(packet: RequestPacket): ReadonlyMap<string, string>;
26
28
  curationBudgetFor(packet: RequestPacket): number | null;
27
29
  buildRequestPacket({ initialMessages, recap, workspaceId, workerId, loopId, currentTurnSeq, provider, gitStatus, notices, transientOpenLogEntryId, promptProjection, turnId, }: {
28
30
  initialMessages: ChatMessage[];
@@ -1 +1 @@
1
- {"version":3,"file":"PacketBuilder.d.ts","sourceRoot":"","sources":["../../src/core/PacketBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAkBhD,OAAO,KAAK,EAAE,aAAa,EAAuB,MAAM,mBAAmB,CAAC;AAG5E,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AA2FtE,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B;AAID,MAAM,CAAC,OAAO,OAAO,aAAa;;IAkB9B,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;QACpC,EAAE,EAAE,EAAE,CAAC;QACP,OAAO,EAAE,cAAc,CAAC;QACxB,SAAS,EAAE,MAAM,gBAAgB,GAAG,SAAS,CAAC;KACjD,EASA;IAED,yBAAyB,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAEhI;IAiCD,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAItD;IAIK,kBAAkB,CAAC,EACrB,eAAe,EAAE,KAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAY,EAC7G,uBAA8B,EAC9B,gBAA8B,EAC9B,MAAa,GAChB,EAAE;QACC,eAAe,EAAE,WAAW,EAAE,CAAC;QAE/B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;QAC5B,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAEtD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,QAAQ,CAAC;QAInB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAG5B,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAGxC,gBAAgB,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC;QAC5C,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,GAAG,OAAO,CAAC,aAAa,CAAC,CAgKzB;IAIK,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQzE;IAEK,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAO7D;IAIK,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAsCjG;IAGD,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,gBAAgB,GAAG,IAAI,CAM/D;IAKK,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAC9E,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC,CASF;CAsFJ"}
1
+ {"version":3,"file":"PacketBuilder.d.ts","sourceRoot":"","sources":["../../src/core/PacketBuilder.ts"],"names":[],"mappings":"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"}