@senpi/runtime 3.0.22 → 3.0.24

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 (137) hide show
  1. package/README.md +7 -4
  2. package/dist/actions/close-position/close-position.action.d.ts.map +1 -1
  3. package/dist/actions/close-position/close-position.action.js +8 -6
  4. package/dist/actions/close-position/close-position.action.js.map +1 -1
  5. package/dist/actions/decision-error-notification.d.ts +14 -0
  6. package/dist/actions/decision-error-notification.d.ts.map +1 -0
  7. package/dist/actions/decision-error-notification.js +36 -0
  8. package/dist/actions/decision-error-notification.js.map +1 -0
  9. package/dist/actions/open-position/open-position.action.d.ts.map +1 -1
  10. package/dist/actions/open-position/open-position.action.js +8 -6
  11. package/dist/actions/open-position/open-position.action.js.map +1 -1
  12. package/dist/actions/types.d.ts +2 -0
  13. package/dist/actions/types.d.ts.map +1 -1
  14. package/dist/cli/guide-commands.d.ts.map +1 -1
  15. package/dist/cli/guide-commands.js +5 -7
  16. package/dist/cli/guide-commands.js.map +1 -1
  17. package/dist/cli/senpi-cli-config.d.ts +0 -17
  18. package/dist/cli/senpi-cli-config.d.ts.map +1 -1
  19. package/dist/cli/senpi-cli-config.js +0 -30
  20. package/dist/cli/senpi-cli-config.js.map +1 -1
  21. package/dist/cli/senpi-config-commands.d.ts +1 -1
  22. package/dist/cli/senpi-config-commands.d.ts.map +1 -1
  23. package/dist/cli/senpi-config-commands.js +1 -16
  24. package/dist/cli/senpi-config-commands.js.map +1 -1
  25. package/dist/constants/dsl/index.d.ts +1 -5
  26. package/dist/constants/dsl/index.d.ts.map +1 -1
  27. package/dist/constants/dsl/index.js +1 -5
  28. package/dist/constants/dsl/index.js.map +1 -1
  29. package/dist/dsl/engine-client/event-mapping.d.ts +1 -1
  30. package/dist/dsl/engine-client/event-mapping.d.ts.map +1 -1
  31. package/dist/dsl/events/build-closed-event.d.ts +1 -1
  32. package/dist/dsl/events/build-closed-event.js +1 -1
  33. package/dist/dsl/events/handlers.js +1 -1
  34. package/dist/dsl/monitor/process-one-position.js +3 -3
  35. package/dist/dsl/monitor/process-one-position.js.map +1 -1
  36. package/dist/dsl/notifications/format-utils.d.ts +1 -11
  37. package/dist/dsl/notifications/format-utils.d.ts.map +1 -1
  38. package/dist/dsl/notifications/format-utils.js +1 -48
  39. package/dist/dsl/notifications/format-utils.js.map +1 -1
  40. package/dist/dsl/notifications/formatter.d.ts +9 -25
  41. package/dist/dsl/notifications/formatter.d.ts.map +1 -1
  42. package/dist/dsl/notifications/formatter.js +20 -105
  43. package/dist/dsl/notifications/formatter.js.map +1 -1
  44. package/dist/dsl/notifications/index.d.ts +2 -8
  45. package/dist/dsl/notifications/index.d.ts.map +1 -1
  46. package/dist/dsl/notifications/index.js +60 -57
  47. package/dist/dsl/notifications/index.js.map +1 -1
  48. package/dist/dsl/plugin/index.d.ts.map +1 -1
  49. package/dist/dsl/plugin/index.js +1 -27
  50. package/dist/dsl/plugin/index.js.map +1 -1
  51. package/dist/dsl/plugin/options.d.ts +3 -2
  52. package/dist/dsl/plugin/options.d.ts.map +1 -1
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +16 -123
  55. package/dist/index.js.map +1 -1
  56. package/dist/prompt/session-context-seed-hook.d.ts +11 -0
  57. package/dist/prompt/session-context-seed-hook.d.ts.map +1 -0
  58. package/dist/prompt/session-context-seed-hook.js +99 -0
  59. package/dist/prompt/session-context-seed-hook.js.map +1 -0
  60. package/dist/runtime/auto-update/coordinator.d.ts +19 -7
  61. package/dist/runtime/auto-update/coordinator.d.ts.map +1 -1
  62. package/dist/runtime/auto-update/coordinator.js +122 -22
  63. package/dist/runtime/auto-update/coordinator.js.map +1 -1
  64. package/dist/runtime/create-action-context.d.ts.map +1 -1
  65. package/dist/runtime/create-action-context.js +1 -0
  66. package/dist/runtime/create-action-context.js.map +1 -1
  67. package/dist/runtime/create-runtime-context.d.ts +1 -0
  68. package/dist/runtime/create-runtime-context.d.ts.map +1 -1
  69. package/dist/runtime/create-runtime-context.js +1 -0
  70. package/dist/runtime/create-runtime-context.js.map +1 -1
  71. package/dist/runtime/decision-errors.d.ts +41 -53
  72. package/dist/runtime/decision-errors.d.ts.map +1 -1
  73. package/dist/runtime/decision-errors.js +48 -111
  74. package/dist/runtime/decision-errors.js.map +1 -1
  75. package/dist/runtime/notifications.d.ts +21 -14
  76. package/dist/runtime/notifications.d.ts.map +1 -1
  77. package/dist/runtime/notifications.js +192 -59
  78. package/dist/runtime/notifications.js.map +1 -1
  79. package/dist/runtime/runtime.d.ts +16 -2
  80. package/dist/runtime/runtime.d.ts.map +1 -1
  81. package/dist/runtime/runtime.js +106 -26
  82. package/dist/runtime/runtime.js.map +1 -1
  83. package/dist/runtime/strategy-lifecycle.d.ts +5 -5
  84. package/dist/runtime/strategy-lifecycle.d.ts.map +1 -1
  85. package/dist/runtime/strategy-lifecycle.js +96 -28
  86. package/dist/runtime/strategy-lifecycle.js.map +1 -1
  87. package/dist/runtime/supervisor/long-running-supervisor.js +3 -3
  88. package/dist/runtime/supervisor/long-running-supervisor.js.map +1 -1
  89. package/dist/runtime-api/lifecycle.d.ts +1 -1
  90. package/dist/runtime-api/lifecycle.js +1 -1
  91. package/dist/scripts/run-dsl-standalone-live.d.ts +7 -6
  92. package/dist/scripts/run-dsl-standalone-live.d.ts.map +1 -1
  93. package/dist/scripts/run-dsl-standalone-live.js +25 -21
  94. package/dist/scripts/run-dsl-standalone-live.js.map +1 -1
  95. package/dist/skills-manager/coordinator.d.ts +2 -2
  96. package/dist/skills-manager/coordinator.js +2 -2
  97. package/dist/test-setup.d.ts +2 -0
  98. package/dist/test-setup.d.ts.map +1 -0
  99. package/dist/test-setup.js +23 -0
  100. package/dist/test-setup.js.map +1 -0
  101. package/dist/types/dsl/index.d.ts +1 -1
  102. package/dist/types/notification.d.ts +95 -1
  103. package/dist/types/notification.d.ts.map +1 -1
  104. package/dist/types/notification.js +76 -1
  105. package/dist/types/notification.js.map +1 -1
  106. package/dist/types/runtime.d.ts +6 -0
  107. package/dist/types/runtime.d.ts.map +1 -1
  108. package/dist/types/session-context.d.ts +19 -0
  109. package/dist/types/session-context.d.ts.map +1 -0
  110. package/dist/types/session-context.js +20 -0
  111. package/dist/types/session-context.js.map +1 -0
  112. package/dist/utils/event-catalog.d.ts +73 -0
  113. package/dist/utils/event-catalog.d.ts.map +1 -1
  114. package/dist/utils/event-catalog.js +22 -0
  115. package/dist/utils/event-catalog.js.map +1 -1
  116. package/dist/utils/logger.d.ts +2 -18
  117. package/dist/utils/logger.d.ts.map +1 -1
  118. package/dist/utils/logger.js +2 -40
  119. package/dist/utils/logger.js.map +1 -1
  120. package/openclaw.plugin.json +1 -1
  121. package/package.json +1 -1
  122. package/dist/actions/notifications/formatter.d.ts +0 -39
  123. package/dist/actions/notifications/formatter.d.ts.map +0 -1
  124. package/dist/actions/notifications/formatter.js +0 -68
  125. package/dist/actions/notifications/formatter.js.map +0 -1
  126. package/dist/actions/notifications/index.d.ts +0 -37
  127. package/dist/actions/notifications/index.d.ts.map +0 -1
  128. package/dist/actions/notifications/index.js +0 -89
  129. package/dist/actions/notifications/index.js.map +0 -1
  130. package/dist/dsl/notifications/close-resolver.d.ts +0 -92
  131. package/dist/dsl/notifications/close-resolver.d.ts.map +0 -1
  132. package/dist/dsl/notifications/close-resolver.js +0 -309
  133. package/dist/dsl/notifications/close-resolver.js.map +0 -1
  134. package/dist/dsl/notifications/types.d.ts +0 -27
  135. package/dist/dsl/notifications/types.d.ts.map +0 -1
  136. package/dist/dsl/notifications/types.js +0 -5
  137. package/dist/dsl/notifications/types.js.map +0 -1
@@ -1,10 +1,18 @@
1
1
  import { type AutoUpdateConfig, type AutoUpdateSnapshot } from "./types.js";
2
2
  import { type VersionSource } from "./version-source.js";
3
- /** Minimal logger contract so the coordinator does not depend on a concrete logger. */
3
+ import { type EventName } from "../../utils/event-catalog.js";
4
+ import type { EventOptions, LogLevel } from "../../utils/logger.js";
5
+ /**
6
+ * Minimal logger contract so the coordinator does not depend on a concrete logger. `event` mirrors
7
+ * `Logger.event` (see `utils/logger.ts`) so the coordinator can emit first-class `auto_update.*`
8
+ * telemetry through the same catalog every other subsystem uses, without pulling in the full
9
+ * `Logger` interface (which also carries `debug`, not needed here).
10
+ */
4
11
  interface LoggerLike {
5
12
  info(...args: unknown[]): void;
6
13
  warn(...args: unknown[]): void;
7
14
  error(...args: unknown[]): void;
15
+ event<N extends EventName>(name: N, level: LogLevel, opts: EventOptions<N>): void;
8
16
  }
9
17
  /** Construction-time options for {@link AutoUpdateCoordinator}. */
10
18
  export interface AutoUpdateCoordinatorOptions {
@@ -14,7 +22,6 @@ export interface AutoUpdateCoordinatorOptions {
14
22
  currentVersion: string;
15
23
  stateDir: string;
16
24
  logger: LoggerLike;
17
- notify: (message: string) => Promise<void>;
18
25
  runUpdateCommand?: (packageName: string) => Promise<void>;
19
26
  canUpdatePlugin?: boolean;
20
27
  versionSource?: VersionSource;
@@ -40,7 +47,7 @@ export interface AutoUpdateCoordinatorOptions {
40
47
  * Central lifecycle manager for the plugin auto-update feature.
41
48
  *
42
49
  * Polls the npm registry on a configurable interval, classifies the
43
- * version delta, and either notifies the user or applies the update
50
+ * version delta, and either logs the update status or applies the update
44
51
  * automatically depending on the resolved {@link AutoUpdateMode}.
45
52
  *
46
53
  * After a successful package install, the coordinator evaluates whether the
@@ -75,6 +82,11 @@ export declare class AutoUpdateCoordinator {
75
82
  private scheduleNext;
76
83
  /** Single poll cycle: run the check, persist state, and schedule the next cycle. */
77
84
  private tick;
85
+ /**
86
+ * Emit a catalogued `auto_update.*` event, guarded so neither a throwing sink nor a bad
87
+ * attribute shape can disturb the tick — telemetry must never break auto-update itself.
88
+ */
89
+ private emitEvent;
78
90
  /** Core update logic: fetch latest version, classify, and take action. */
79
91
  private runTick;
80
92
  /**
@@ -91,10 +103,10 @@ export declare class AutoUpdateCoordinator {
91
103
  private handleAlreadyAppliedAwaitingRestart;
92
104
  private isAllowedByPolicy;
93
105
  private handleMajorAvailable;
94
- private notifyUpdateAvailable;
106
+ private logUpdateAvailable;
95
107
  /**
96
108
  * Install the update, evaluate restart capability, then either trigger a
97
- * gateway restart or notify the user to restart manually.
109
+ * gateway restart or log that a manual restart is needed.
98
110
  *
99
111
  * Runtimes are never torn down here. Already-imported modules stay resolved to
100
112
  * the old bundle, so trading continues uninterrupted until the gateway tears
@@ -103,11 +115,11 @@ export declare class AutoUpdateCoordinator {
103
115
  *
104
116
  * Execution order is critical:
105
117
  * 1. Run `openclaw plugins update` — writes new files to disk.
106
- * If this step fails the transaction is aborted and the user is notified;
118
+ * If this step fails the transaction is aborted and the failure is logged;
107
119
  * `lastAppliedVersion` is NOT advanced.
108
120
  * 2. Record success for observability (`lastAppliedVersion` / `lastSuccessAt`).
109
121
  * 3. Evaluate gateway restart capability. If automatic restart is not
110
- * possible, notify the user and return.
122
+ * possible, log that a manual restart is needed and return.
111
123
  * 4. When capable: trigger the config-file bump for gateway restart.
112
124
  */
113
125
  private runUpdateTransaction;
@@ -1 +1 @@
1
- {"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../../src/runtime/auto-update/coordinator.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,gBAAgB,EAErB,KAAK,kBAAkB,EAExB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE3E,uFAAuF;AACvF,UAAU,UAAU;IAClB,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CACjC;AAED,mEAAmE;AACnE,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACpC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,qBAAqB;IAYpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAXpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyC;IAC1E,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,gBAAgB,CAAgB;gBAEX,OAAO,EAAE,4BAA4B;IAclE,uFAAuF;IACjF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC5B,oFAAoF;IAC9E,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B,8EAA8E;IAC9E,WAAW,IAAI,kBAAkB;IAIjC,8EAA8E;IAC9E,OAAO,CAAC,YAAY;IAmBpB,oFAAoF;YACtE,IAAI;IAoDlB,0EAA0E;YAC5D,OAAO;IAiCrB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,mCAAmC;IAU3C,OAAO,CAAC,iBAAiB;YAMX,oBAAoB;YAcpB,qBAAqB;IAkBnC;;;;;;;;;;;;;;;;;OAiBG;YACW,oBAAoB;IA+ElC,+EAA+E;IAC/E,OAAO,CAAC,aAAa;YA6BP,YAAY;CAO3B"}
1
+ {"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../../src/runtime/auto-update/coordinator.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,gBAAgB,EAErB,KAAK,kBAAkB,EAExB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAyC,KAAK,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACrG,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEpE;;;;;GAKG;AACH,UAAU,UAAU;IAClB,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CACnF;AAED,mEAAmE;AACnE,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACpC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,qBAAqB;IAYpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAXpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyC;IAC1E,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,gBAAgB,CAAgB;gBAEX,OAAO,EAAE,4BAA4B;IAclE,uFAAuF;IACjF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC5B,oFAAoF;IAC9E,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B,8EAA8E;IAC9E,WAAW,IAAI,kBAAkB;IAIjC,8EAA8E;IAC9E,OAAO,CAAC,YAAY;IAmBpB,oFAAoF;YACtE,IAAI;IA6DlB;;;OAGG;IACH,OAAO,CAAC,SAAS;IAQjB,0EAA0E;YAC5D,OAAO;IAsDrB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,mCAAmC;IAkB3C,OAAO,CAAC,iBAAiB;YAMX,oBAAoB;YAqBpB,kBAAkB;IAyBhC;;;;;;;;;;;;;;;;;OAiBG;YACW,oBAAoB;IAiHlC,+EAA+E;IAC/E,OAAO,CAAC,aAAa;YA6BP,YAAY;CAO3B"}
@@ -5,11 +5,12 @@ import { evaluatePreflight } from "./preflight.js";
5
5
  import { AutoUpdateStateStore } from "./state-store.js";
6
6
  import { createDefaultAutoUpdateState, } from "./types.js";
7
7
  import { NpmVersionSource } from "./version-source.js";
8
+ import { EVENT_NAME, eventAttrs } from "../../utils/event-catalog.js";
8
9
  /**
9
10
  * Central lifecycle manager for the plugin auto-update feature.
10
11
  *
11
12
  * Polls the npm registry on a configurable interval, classifies the
12
- * version delta, and either notifies the user or applies the update
13
+ * version delta, and either logs the update status or applies the update
13
14
  * automatically depending on the resolved {@link AutoUpdateMode}.
14
15
  *
15
16
  * After a successful package install, the coordinator evaluates whether the
@@ -137,6 +138,15 @@ export class AutoUpdateCoordinator {
137
138
  const backoff = Math.min(max, base * Math.max(1, state.consecutiveFailures));
138
139
  nextDelayMs = backoff;
139
140
  this.options.logger.info(`[senpi-auto-update] tick failed, backing off | error=${formatErr(error)} consecutiveFailures=${state.consecutiveFailures} backoffMs=${backoff}`);
141
+ // The tick-level aggregate — fires alongside the specific check_failed/install_failed event
142
+ // already emitted at the throw site (see runTick / runUpdateTransaction).
143
+ this.emitEvent(EVENT_NAME.autoUpdateDegraded, "warn", {
144
+ body: `Auto-update tick degraded, backing off | consecutiveFailures=${state.consecutiveFailures}`,
145
+ attributes: eventAttrs({
146
+ "senpi.auto_update.reason": formatErr(error),
147
+ }),
148
+ error,
149
+ });
140
150
  this.snapshot = this.buildSnapshot("degraded", this.snapshot.lastAction, formatErr(error));
141
151
  }
142
152
  finally {
@@ -161,16 +171,50 @@ export class AutoUpdateCoordinator {
161
171
  }
162
172
  }
163
173
  }
174
+ /**
175
+ * Emit a catalogued `auto_update.*` event, guarded so neither a throwing sink nor a bad
176
+ * attribute shape can disturb the tick — telemetry must never break auto-update itself.
177
+ */
178
+ emitEvent(name, level, opts) {
179
+ try {
180
+ this.options.logger.event(name, level, opts);
181
+ }
182
+ catch {
183
+ // A telemetry-side failure must never disturb the auto-update tick.
184
+ }
185
+ }
164
186
  /** Core update logic: fetch latest version, classify, and take action. */
165
187
  async runTick(state) {
166
188
  const { logger } = this.options;
167
189
  state.lastCheckedAt = new Date().toISOString();
168
190
  logger.info(`[senpi-auto-update] fetching latest version from npm | package=${this.options.packageName} localVersion=${this.options.currentVersion}`);
169
- const latest = await this.versionSource.getLatestVersion(this.options.packageName);
191
+ let latest;
192
+ try {
193
+ latest = await this.versionSource.getLatestVersion(this.options.packageName);
194
+ }
195
+ catch (error) {
196
+ this.emitEvent(EVENT_NAME.autoUpdateCheckFailed, "error", {
197
+ body: `Version check failed for ${this.options.packageName}: ${formatErr(error)}`,
198
+ attributes: eventAttrs({
199
+ "senpi.auto_update.consecutive_failures": state.consecutiveFailures + 1,
200
+ }),
201
+ error,
202
+ });
203
+ throw error;
204
+ }
170
205
  state.latestVersionLastSeen = latest;
171
206
  const updateType = classifyUpdate(this.options.currentVersion, latest);
172
207
  const willUpdate = updateType !== "none" && updateType !== "major";
173
208
  logger.info(`[senpi-auto-update] version check result | localVersion=${this.options.currentVersion} remoteVersion=${latest} updateType=${updateType} willUpdate=${String(willUpdate)}`);
209
+ this.emitEvent(EVENT_NAME.autoUpdateCheckCompleted, "info", {
210
+ body: `Version check: local=${this.options.currentVersion} latest=${latest} updateType=${updateType} willUpdate=${String(willUpdate)}`,
211
+ attributes: eventAttrs({
212
+ "senpi.auto_update.current_version": this.options.currentVersion,
213
+ "senpi.auto_update.latest_version": latest,
214
+ "senpi.auto_update.update_type": updateType,
215
+ "senpi.auto_update.will_update": willUpdate,
216
+ }),
217
+ });
174
218
  if (updateType === "none") {
175
219
  this.snapshot = this.buildSnapshot("healthy", `no-update:${latest}`);
176
220
  return;
@@ -185,7 +229,7 @@ export class AutoUpdateCoordinator {
185
229
  return;
186
230
  }
187
231
  if (state.effectiveMode !== "auto-apply") {
188
- await this.notifyUpdateAvailable(state, latest, updateType);
232
+ await this.logUpdateAvailable(state, latest, updateType);
189
233
  return;
190
234
  }
191
235
  if (state.lastAppliedVersion === latest) {
@@ -210,6 +254,14 @@ export class AutoUpdateCoordinator {
210
254
  this.options.logger.info(`[senpi-auto-update] update to v${latest} already applied, awaiting gateway restart to take effect | skipping reinstall`);
211
255
  state.lastLoggedAwaitingRestartVersion = latest;
212
256
  }
257
+ // Fired on every guard hit (not deduped like the log line above) — an operator watching for
258
+ // "how long has this box been stuck awaiting restart" needs every occurrence, not just the first.
259
+ this.emitEvent(EVENT_NAME.autoUpdateAwaitingRestart, "warn", {
260
+ body: `Update to v${latest} already applied, still awaiting gateway restart`,
261
+ attributes: eventAttrs({
262
+ "senpi.auto_update.to_version": latest,
263
+ }),
264
+ });
213
265
  this.snapshot = this.buildSnapshot("degraded", `already-applied-awaiting-restart:${latest}`);
214
266
  }
215
267
  isAllowedByPolicy(kind) {
@@ -224,26 +276,40 @@ export class AutoUpdateCoordinator {
224
276
  this.snapshot = this.buildSnapshot("healthy", `major-seen:${latest}`);
225
277
  return;
226
278
  }
227
- await this.options.notify(`Senpi update available: v${latest} (major).\n` +
228
- `Auto-update will not apply major versions.\n` +
229
- `Please review changelog and run: openclaw plugins update ${this.options.packageName}`);
279
+ this.emitEvent(EVENT_NAME.autoUpdateUpdateAvailable, "info", {
280
+ body: `Update available: v${latest} (major)`,
281
+ attributes: eventAttrs({
282
+ "senpi.auto_update.latest_version": latest,
283
+ "senpi.auto_update.update_type": "major",
284
+ }),
285
+ });
286
+ this.options.logger.info(`[senpi-auto-update] Senpi update available: v${latest} (major). ` +
287
+ `Auto-update will not apply major versions. ` +
288
+ `Review changelog and run: openclaw plugins update ${this.options.packageName}`);
230
289
  state.lastNotifiedMajorVersion = latest;
231
290
  this.snapshot = this.buildSnapshot("healthy", `major-notified:${latest}`);
232
291
  }
233
- async notifyUpdateAvailable(state, latest, kind) {
292
+ async logUpdateAvailable(state, latest, kind) {
234
293
  if (state.lastNotifiedUpdateVersion === latest) {
235
294
  this.snapshot = this.buildSnapshot("healthy", `update-seen:${kind}:${latest}`);
236
295
  return;
237
296
  }
238
- await this.options.notify(`Senpi update available: v${latest} (${kind}).\n` +
239
- `Auto-update mode is notify-only.\n` +
297
+ this.emitEvent(EVENT_NAME.autoUpdateUpdateAvailable, "info", {
298
+ body: `Update available: v${latest} (${kind})`,
299
+ attributes: eventAttrs({
300
+ "senpi.auto_update.latest_version": latest,
301
+ "senpi.auto_update.update_type": kind,
302
+ }),
303
+ });
304
+ this.options.logger.info(`[senpi-auto-update] Senpi update available: v${latest} (${kind}). ` +
305
+ `Auto-update mode is notify-only. ` +
240
306
  `Run: openclaw plugins update ${this.options.packageName}`);
241
307
  state.lastNotifiedUpdateVersion = latest;
242
308
  this.snapshot = this.buildSnapshot("healthy", `update-notified:${kind}:${latest}`);
243
309
  }
244
310
  /**
245
311
  * Install the update, evaluate restart capability, then either trigger a
246
- * gateway restart or notify the user to restart manually.
312
+ * gateway restart or log that a manual restart is needed.
247
313
  *
248
314
  * Runtimes are never torn down here. Already-imported modules stay resolved to
249
315
  * the old bundle, so trading continues uninterrupted until the gateway tears
@@ -252,16 +318,16 @@ export class AutoUpdateCoordinator {
252
318
  *
253
319
  * Execution order is critical:
254
320
  * 1. Run `openclaw plugins update` — writes new files to disk.
255
- * If this step fails the transaction is aborted and the user is notified;
321
+ * If this step fails the transaction is aborted and the failure is logged;
256
322
  * `lastAppliedVersion` is NOT advanced.
257
323
  * 2. Record success for observability (`lastAppliedVersion` / `lastSuccessAt`).
258
324
  * 3. Evaluate gateway restart capability. If automatic restart is not
259
- * possible, notify the user and return.
325
+ * possible, log that a manual restart is needed and return.
260
326
  * 4. When capable: trigger the config-file bump for gateway restart.
261
327
  */
262
328
  async runUpdateTransaction(state, latest, kind) {
263
329
  state.lastAttemptAt = new Date().toISOString();
264
- await this.options.notify(`Senpi auto-update in progress: ${this.options.currentVersion} -> ${latest} (${kind}).`);
330
+ this.options.logger.info(`[senpi-auto-update] Senpi auto-update in progress: ${this.options.currentVersion} -> ${latest} (${kind}).`);
265
331
  // Step 1: run the package update. Throw (to tick's catch) on failure so
266
332
  // runtimes stay up and lastAppliedVersion is never advanced for this version.
267
333
  try {
@@ -269,9 +335,15 @@ export class AutoUpdateCoordinator {
269
335
  }
270
336
  catch (err) {
271
337
  const reason = formatErr(err);
272
- await this.options.notify(`Senpi auto-update failed: ${this.options.currentVersion} -> ${latest}.\n` +
273
- `Reason: ${reason}\n` +
274
- `Will retry after backoff.`).catch(() => { });
338
+ this.emitEvent(EVENT_NAME.autoUpdateInstallFailed, "error", {
339
+ body: `Install failed: ${this.options.currentVersion} -> v${latest}: ${reason}`,
340
+ attributes: eventAttrs({
341
+ "senpi.auto_update.to_version": latest,
342
+ }),
343
+ error: err,
344
+ });
345
+ this.options.logger.warn(`[senpi-auto-update] Senpi auto-update failed: ${this.options.currentVersion} -> ${latest}. ` +
346
+ `Reason: ${reason}. Will retry after backoff.`);
275
347
  throw err;
276
348
  }
277
349
  // Step 2: record success before evaluating restart (no runtimes stopped yet).
@@ -287,9 +359,19 @@ export class AutoUpdateCoordinator {
287
359
  state.restartCapabilityReasons = capability.reasons;
288
360
  state.restartCapabilityMode = capability.mode;
289
361
  if (!capability.capable || !capability.config || !this.options.writeConfigFile) {
290
- await this.options.notify(`Senpi updated to v${latest}, but automatic gateway restart is not available.\n` +
291
- `Please restart OpenClaw gateway manually.\n` +
292
- `Reason(s): ${capability.reasons.join(", ") || "unknown"}`);
362
+ const reason = capability.reasons.join(", ") || "unknown";
363
+ // The "installed but never loaded" case: the package is on disk but nothing will pick it up
364
+ // until a human restarts the gateway — an alert condition, so error, not the tick-level warn.
365
+ this.emitEvent(EVENT_NAME.autoUpdateRestartFailed, "error", {
366
+ body: `Restart not available after updating to v${latest}: ${reason}`,
367
+ attributes: eventAttrs({
368
+ "senpi.auto_update.to_version": latest,
369
+ "senpi.auto_update.reason": reason,
370
+ }),
371
+ });
372
+ this.options.logger.warn(`[senpi-auto-update] Senpi updated to v${latest}, but automatic gateway restart is not available. ` +
373
+ `Please restart OpenClaw gateway manually. ` +
374
+ `Reason(s): ${reason}`);
293
375
  this.snapshot = this.buildSnapshot("degraded", `updated-manual-restart:${latest}`);
294
376
  return;
295
377
  }
@@ -304,13 +386,31 @@ export class AutoUpdateCoordinator {
304
386
  });
305
387
  state.lastRestartTriggerAt = nowIso;
306
388
  state.lastRestartTriggerMode = capability.mode ?? "unknown";
307
- await this.options.notify(`Senpi updated to v${latest}. Gateway restart requested via config reload (${state.lastRestartTriggerMode}).`);
389
+ this.emitEvent(EVENT_NAME.autoUpdateApplied, "info", {
390
+ body: `Update applied: ${this.options.currentVersion} -> v${latest}; restart requested (${state.lastRestartTriggerMode})`,
391
+ attributes: eventAttrs({
392
+ "senpi.auto_update.from_version": this.options.currentVersion,
393
+ "senpi.auto_update.to_version": latest,
394
+ "senpi.auto_update.restart_mode": state.lastRestartTriggerMode,
395
+ }),
396
+ });
397
+ this.options.logger.info(`[senpi-auto-update] Senpi updated to v${latest}. Gateway restart requested via config reload (${state.lastRestartTriggerMode}).`);
308
398
  this.snapshot = this.buildSnapshot("healthy", `updated-restart-requested:${latest}`);
309
399
  }
310
400
  catch (error) {
311
401
  const reason = formatErr(error);
312
- await this.options.notify(`Senpi updated to v${latest}, but restart trigger failed.\n` +
313
- `Please restart OpenClaw gateway manually.\n` +
402
+ // The other "installed but never loaded" case: capability looked fine but the config-bump
403
+ // write itself threw, so the restart was never actually requested.
404
+ this.emitEvent(EVENT_NAME.autoUpdateRestartFailed, "error", {
405
+ body: `Restart trigger failed after updating to v${latest}: ${reason}`,
406
+ attributes: eventAttrs({
407
+ "senpi.auto_update.to_version": latest,
408
+ "senpi.auto_update.reason": reason,
409
+ }),
410
+ error,
411
+ });
412
+ this.options.logger.warn(`[senpi-auto-update] Senpi updated to v${latest}, but restart trigger failed. ` +
413
+ `Please restart OpenClaw gateway manually. ` +
314
414
  `Reason: ${reason}`);
315
415
  state.restartCapability = "not-capable";
316
416
  state.restartCapabilityReasons = [
@@ -1 +1 @@
1
- {"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../src/runtime/auto-update/coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../src/runtime/auto-update/coordinator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-action-context.d.ts","sourceRoot":"","sources":["../../src/runtime/create-action-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,WAAW,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,mBAAmB,CAAC;IACnC,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,IAAI,CAAC,uBAAuB,EAAE,UAAU,GAAG,UAAU,CAAC,GAC3D,aAAa,CAYf"}
1
+ {"version":3,"file":"create-action-context.d.ts","sourceRoot":"","sources":["../../src/runtime/create-action-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,WAAW,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,mBAAmB,CAAC;IACnC,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,IAAI,CAAC,uBAAuB,EAAE,UAAU,GAAG,UAAU,CAAC,GAC3D,aAAa,CAaf"}
@@ -17,6 +17,7 @@ export function createActionContext(config, deps) {
17
17
  strategy,
18
18
  playbook,
19
19
  maxLeverageData: deps.maxLeverageData ?? {},
20
+ notificationLabel: config.group ?? config.name,
20
21
  };
21
22
  }
22
23
  //# sourceMappingURL=create-action-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-action-context.js","sourceRoot":"","sources":["../../src/runtime/create-action-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAe5D;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAqB,EACrB,IAA4D;IAE5D,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG;QACf,WAAW,EAAE,MAAM,CAAC,IAAI;QACxB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;KAC3C,CAAC;IACF,OAAO;QACL,GAAG,IAAI;QACP,QAAQ;QACR,QAAQ;QACR,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,EAAE;KAC5C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"create-action-context.js","sourceRoot":"","sources":["../../src/runtime/create-action-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAe5D;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAqB,EACrB,IAA4D;IAE5D,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG;QACf,WAAW,EAAE,MAAM,CAAC,IAAI;QACxB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;KAC3C,CAAC;IACF,OAAO;QACL,GAAG,IAAI;QACP,QAAQ;QACR,QAAQ;QACR,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,EAAE;QAC3C,iBAAiB,EAAE,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI;KAC/C,CAAC;AACJ,CAAC"}
@@ -20,6 +20,7 @@ export interface CreateRuntimeContextDeps {
20
20
  scannerModule?: ScannerRuntimeModule;
21
21
  maxLeverageCache: MaxLeverageCache;
22
22
  positionIdRegistry?: PositionIdRegistry;
23
+ notificationLabel?: string;
23
24
  }
24
25
  /**
25
26
  * Build a live StrategyState from a StrategyConfig and SenpiClient.
@@ -1 +1 @@
1
- {"version":3,"file":"create-runtime-context.d.ts","sourceRoot":"","sources":["../../src/runtime/create-runtime-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAG7E,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,WAAW,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,mBAAmB,CAAC;IACnC,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,WAAW,GACjB,aAAa,CAEf;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,WAAW,GACjB,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAE5B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE,wBAAwB,GAC7B,cAAc,CAchB"}
1
+ {"version":3,"file":"create-runtime-context.d.ts","sourceRoot":"","sources":["../../src/runtime/create-runtime-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAG7E,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,WAAW,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,mBAAmB,CAAC;IACnC,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,WAAW,GACjB,aAAa,CAEf;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,WAAW,GACjB,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAE5B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE,wBAAwB,GAC7B,cAAc,CAehB"}
@@ -31,6 +31,7 @@ export function createRuntimeContext(strategyConfig, deps) {
31
31
  scannerModule: deps.scannerModule,
32
32
  maxLeverageCache: deps.maxLeverageCache,
33
33
  positionIdRegistry: deps.positionIdRegistry,
34
+ notificationLabel: deps.notificationLabel,
34
35
  };
35
36
  }
36
37
  //# sourceMappingURL=create-runtime-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-runtime-context.js","sourceRoot":"","sources":["../../src/runtime/create-runtime-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAclE;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,cAA8B,EAC9B,KAAkB;IAElB,OAAO,IAAI,iBAAiB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,cAA8B,EAC9B,KAAkB;IAElB,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,mBAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACzF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,cAA8B,EAC9B,IAA8B;IAE9B,MAAM,aAAa,GAAG,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACtE,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,aAAa;QACb,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;KAC5C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"create-runtime-context.js","sourceRoot":"","sources":["../../src/runtime/create-runtime-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAelE;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,cAA8B,EAC9B,KAAkB;IAElB,OAAO,IAAI,iBAAiB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,cAA8B,EAC9B,KAAkB;IAElB,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,mBAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACzF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,cAA8B,EAC9B,IAA8B;IAE9B,MAAM,aAAa,GAAG,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACtE,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,aAAa;QACb,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;KAC1C,CAAC;AACJ,CAAC"}
@@ -1,5 +1,6 @@
1
1
  /**
2
- * Classification of LLM-decision failures into user-facing messages + a retry flag.
2
+ * Classification of LLM-decision failures into a stable code, a retry flag, and
3
+ * a two-bucket user-facing message.
3
4
  *
4
5
  * ## Why this module exists
5
6
  *
@@ -9,21 +10,25 @@
9
10
  * need to make decisions from that string:
10
11
  *
11
12
  * 1. The **notification layer** ({@link formatDecisionErrorNotification} in
12
- * `notifications.ts`) — what to tell the skill author in Telegram.
13
+ * `notifications.ts`) — what to tell the skill author.
13
14
  * 2. The **decision client** (`openclaw-llm-decision.ts`) — whether a retry can
14
15
  * plausibly succeed.
15
16
  *
16
- * ## Three pieces, separated on purpose
17
+ * ## Two pieces
17
18
  *
18
- * 1. {@link DECISION_ERROR_MESSAGES} — a **flat catalog** of every user-facing
19
- * string, keyed by {@link DecisionErrorCode}. This is the single place to read,
20
- * review, or edit copy. Templates use `{placeholder}` tokens.
21
- * 2. {@link DECISION_ERROR_TABLE} — the ordered matchers (raw string → code) and
22
- * the `retryable` flag, plus the per-code logic that produces template values.
23
- * 3. {@link classifyDecisionError} — walks the table, renders the catalog entry.
19
+ * 1. {@link DECISION_ERROR_TABLE} — the ordered matchers (raw string → code)
20
+ * and the `retryable` flag. Per-code detail is preserved here for logs and
21
+ * telemetry, even though the two consumers above only see the collapsed
22
+ * bucket.
23
+ * 2. {@link classifyDecisionError} — walks the table, then renders the
24
+ * user-facing message from {@link DECISION_ERROR_BUCKET_COPY}, keyed only
25
+ * by `retryable` (see {@link decisionErrorBucket}). Author-facing copy
26
+ * does not vary by code — dozens of failure-mode-specific messages proved
27
+ * to be more than users act on; the two buckets are "this will likely
28
+ * sort itself out" vs. "this needs you to look at it."
24
29
  *
25
- * To change wording: edit {@link DECISION_ERROR_MESSAGES} only. To change matching
26
- * or retry behavior: edit {@link DECISION_ERROR_TABLE} only.
30
+ * To change matching or retry behavior: edit {@link DECISION_ERROR_TABLE}.
31
+ * To change user-facing wording: edit {@link DECISION_ERROR_BUCKET_COPY}.
27
32
  *
28
33
  * ## Where the raw strings come from
29
34
  *
@@ -48,6 +53,7 @@
48
53
  * `tool_error` matches {@link DecisionErrorCode.ProviderError}; on newer gateways
49
54
  * the specific code matches.
50
55
  */
56
+ import type { NotificationCopy } from "../types/notification.js";
51
57
  /** Stable identifier for each classified LLM-decision failure mode. */
52
58
  export declare enum DecisionErrorCode {
53
59
  /** Gateway auth token missing in env/config — thrown before any HTTP call. */
@@ -87,33 +93,12 @@ export declare enum DecisionErrorCode {
87
93
  /** No matcher matched — surfaces the raw message so operators can still diagnose. */
88
94
  Unknown = "UNKNOWN"
89
95
  }
90
- /**
91
- * The single catalog of every user-facing message, keyed by {@link DecisionErrorCode}.
92
- *
93
- * Templates use `{token}` placeholders, filled by the matching entry's `vars`
94
- * function in {@link DECISION_ERROR_TABLE} (e.g. `{name}` = action name, `{model}`,
95
- * `{list}`, `{errors}`, `{level}`, `{hint}`, `{providerModel}`, `{raw}`). A `{token}`
96
- * with no supplied value is left verbatim so a missing var is visible, not silent.
97
- *
98
- * **This is the only place to edit copy.** Nothing else hardcodes a message.
99
- */
100
- export declare const DECISION_ERROR_MESSAGES: Record<DecisionErrorCode, string>;
101
- /**
102
- * Plugin-side context the gateway error string does not carry but the message
103
- * needs (e.g. the action's YAML name, the configured `decision_model`).
104
- */
105
- export interface DecisionErrorContext {
106
- /** The failing action's `name` from the runtime YAML (the `{name}` placeholder). */
107
- actionName?: string;
108
- /** The action's configured `decision_model` (fallback for the `{model}` placeholder). */
109
- model?: string;
110
- }
111
96
  /** Result of classifying a raw LLM-decision error string. */
112
97
  export interface ClassifiedDecisionError {
113
98
  code: DecisionErrorCode;
114
99
  /** Whether a retry of the `llm-task` call can plausibly succeed. */
115
100
  retryable: boolean;
116
- /** User-facing message for Telegram. */
101
+ /** User-facing notification message (the bucket's in-app text — see {@link decisionErrorBucket}). */
117
102
  userMessage: string;
118
103
  }
119
104
  /** One row of {@link DECISION_ERROR_TABLE}. */
@@ -121,40 +106,43 @@ interface DecisionErrorEntry {
121
106
  code: DecisionErrorCode;
122
107
  /**
123
108
  * Tested against the raw error string. Returning a {@link RegExpMatchArray}
124
- * (truthy) or `true` counts as a match; `null`/`false` means no match. Capture
125
- * groups are forwarded to {@link DecisionErrorEntry.vars} as `caps`.
109
+ * (truthy) or `true` counts as a match; `null`/`false` means no match.
126
110
  */
127
111
  match: (raw: string) => RegExpMatchArray | boolean | null;
128
112
  retryable: boolean;
129
- /**
130
- * Optional: produces the `{token}` substitutions for this code's catalog entry.
131
- * Omit for static messages.
132
- * @param caps - Capture groups from {@link DecisionErrorEntry.match}, or `null`.
133
- * @param ctx - Plugin-side context (action name, configured model).
134
- * @param raw - The original raw error string.
135
- */
136
- vars?: (caps: RegExpMatchArray | null, ctx: DecisionErrorContext, raw: string) => Record<string, string>;
137
113
  }
138
114
  /**
139
- * Ordered classification table — matchers + retry flag + template-variable logic.
140
- * First match wins, so keep specific matchers above generic ones (e.g.
141
- * `LlmEmptyOutput` before the catch-all `ProviderError`, since both can appear
142
- * inside a `"rejected request: ..."` wrapper). Copy lives in
143
- * {@link DECISION_ERROR_MESSAGES}, not here.
115
+ * Ordered classification table — matchers + retry flag. First match wins, so
116
+ * keep specific matchers above generic ones (e.g. `LlmEmptyOutput` before the
117
+ * catch-all `ProviderError`, since both can appear inside a `"rejected
118
+ * request: ..."` wrapper). `code` and `retryable` are the source of truth for
119
+ * logs/telemetry; user-facing copy lives in {@link DECISION_ERROR_BUCKET_COPY}.
144
120
  */
145
121
  export declare const DECISION_ERROR_TABLE: readonly DecisionErrorEntry[];
122
+ /**
123
+ * The two user-facing buckets every decision error collapses into. A code's
124
+ * long tail of remediation detail (which YAML field, which host setting) is
125
+ * useful in logs but not something most users act on; retryable vs. not is
126
+ * the one distinction that changes what the user should expect next.
127
+ */
128
+ export type DecisionErrorBucket = "transient" | "attention";
129
+ /** Map a classified error's retry flag to its user-facing bucket. */
130
+ export declare function decisionErrorBucket(retryable: boolean): DecisionErrorBucket;
131
+ /** Label-free copy for each bucket — the emit site applies the `[strategy]` prefix. */
132
+ export declare const DECISION_ERROR_BUCKET_COPY: Record<DecisionErrorBucket, NotificationCopy>;
146
133
  /**
147
134
  * Classify a raw LLM-decision error string into a {@link ClassifiedDecisionError}.
148
135
  *
149
- * Walks {@link DECISION_ERROR_TABLE} in order; the first matching entry wins. If
150
- * nothing matches, returns {@link DecisionErrorCode.Unknown} (not retryable). The
151
- * message is always rendered from {@link DECISION_ERROR_MESSAGES}.
136
+ * Walks {@link DECISION_ERROR_TABLE} in order; the first matching entry wins,
137
+ * giving `code` + `retryable` (preserved for logs/telemetry). If nothing
138
+ * matches, returns {@link DecisionErrorCode.Unknown} (not retryable). The
139
+ * user-facing `userMessage` is always the collapsed bucket's in-app copy from
140
+ * {@link DECISION_ERROR_BUCKET_COPY} — it does not vary by code.
152
141
  *
153
142
  * @param rawMessage - The error string thrown by the decision client (may embed an
154
143
  * OpenClaw gateway message). Non-string / empty inputs are coerced safely.
155
- * @param ctx - Optional plugin-side context for placeholders the gateway can't supply.
156
144
  */
157
- export declare function classifyDecisionError(rawMessage: string, ctx?: DecisionErrorContext): ClassifiedDecisionError;
145
+ export declare function classifyDecisionError(rawMessage: string): ClassifiedDecisionError;
158
146
  /**
159
147
  * Convenience predicate for retry wiring: `true` when a retry of the failed
160
148
  * `llm-task` call can plausibly succeed.