@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
@@ -27,12 +27,13 @@
27
27
  * set DSL_DECREASE_ASSET.
28
28
  * (Increase/decrease use bus event names on_position_increased / on_position_decreased, same as HookSystem.fire.)
29
29
  *
30
- * Optional — DSL Telegram notifications (same behavior as runtime DslPlugin):
31
- * - Recipe (--config): top-level `notifications.telegram_chat_id` (and optional `dsl_lifecycle: false`,
32
- * `dsl_notify_sl_updates: true`). Gateway auth uses OPENCLAW_GATEWAY_TOKEN in the environment unless
33
- * you set optional `gateway_token` in YAML.
34
- * - Or env chat id if the recipe has no telegram_chat_id: DSL_TELEGRAM_CHAT_ID or TELEGRAM_CHAT_ID
35
- * - Without a resolvable chat id (or with dsl_lifecycle: false), only console bus logs run (see below).
30
+ * Optional — DSL notifications (same behavior as runtime DslPlugin):
31
+ * - Delivery is env-configured: NOTIFICATIONS_INGEST_URL + a resolvable Senpi auth
32
+ * token (SENPI_AUTH_TOKEN / SENPI_API_KEY). Recipe (--config) top-level
33
+ * `notifications.dsl_lifecycle: false` opts out; stop-raise alerts are on by
34
+ * default, and `dsl_notify_sl_updates: false` turns them off.
35
+ * - With dsl_lifecycle: false, or with the ingest transport unconfigured, only
36
+ * console bus logs run (see below).
36
37
  * Bus listeners always print DSL_EVENTS to stdout for debugging.
37
38
  *
38
39
  * Usage (after build):
@@ -132,27 +133,30 @@ async function loadExitConfigAndNotifications() {
132
133
  }
133
134
  }
134
135
  /**
135
- * Match Runtime DSL notification wiring: optional recipe block + env chat id; respect dsl_lifecycle: false.
136
+ * Match Runtime DSL notification wiring: optional recipe block; respect dsl_lifecycle: false.
137
+ * Delivery itself is env-configured (NOTIFICATIONS_INGEST_URL + auth token), so the only
138
+ * opt-out left is the explicit `dsl_lifecycle: false`. A misconfigured transport degrades
139
+ * this optional debug subscriber (console message), rather than crashing a manual
140
+ * standalone run.
136
141
  */
137
142
  function buildLiveDslNotificationOptions(recipeNotifications) {
138
143
  const merged = { ...(recipeNotifications ?? {}) };
139
- const envChat = process.env.DSL_TELEGRAM_CHAT_ID?.trim() || process.env.TELEGRAM_CHAT_ID?.trim();
140
- const existingChat = merged.telegram_chat_id;
141
- if (envChat &&
142
- (existingChat == null || (typeof existingChat === "string" && existingChat.trim() === ""))) {
143
- merged.telegram_chat_id = envChat;
144
- }
145
144
  if (merged.dsl_lifecycle === false) {
146
145
  return {};
147
146
  }
148
- const chatId = merged.telegram_chat_id;
149
- if (typeof chatId !== "string" || !chatId.trim()) {
147
+ try {
148
+ return {
149
+ notifications: createNotificationService({
150
+ ...merged,
151
+ senpi_auth_token: process.env.SENPI_AUTH_TOKEN?.trim() ?? process.env.SENPI_API_KEY?.trim(),
152
+ }),
153
+ notifySlUpdates: merged.dsl_notify_sl_updates !== false,
154
+ };
155
+ }
156
+ catch (err) {
157
+ console.log(`[run-dsl-live] DSL notifications off: ${err instanceof Error ? err.message : String(err)}`);
150
158
  return {};
151
159
  }
152
- return {
153
- notifications: createNotificationService(merged),
154
- notifySlUpdates: merged.dsl_notify_sl_updates === true,
155
- };
156
160
  }
157
161
  /** Parse DSL_POSITION_ASSETS or fall back to DSL_POSITION_COIN (one ticker). */
158
162
  function parseAssetsFromEnv() {
@@ -378,13 +382,13 @@ async function main() {
378
382
  const { exitConfig, recipeNotifications } = await loadExitConfigAndNotifications();
379
383
  const dslNotifOpts = buildLiveDslNotificationOptions(recipeNotifications);
380
384
  if (dslNotifOpts.notifications) {
381
- console.log("[run-dsl-live] DSL Telegram subscriber enabled (same as runtime). Ensure OPENCLAW_GATEWAY_TOKEN is set for sends.");
385
+ console.log("[run-dsl-live] DSL notification subscriber enabled (same as runtime).");
382
386
  if (dslNotifOpts.notifySlUpdates) {
383
387
  console.log("[run-dsl-live] dsl_notify_sl_updates: true (SL sync messages on every tick)");
384
388
  }
385
389
  }
386
390
  else {
387
- console.log("[run-dsl-live] DSL Telegram subscriber off — add notifications.telegram_chat_id to recipe, or set DSL_TELEGRAM_CHAT_ID / TELEGRAM_CHAT_ID (unless notifications.dsl_lifecycle: false). Bus events still log above.");
391
+ console.log("[run-dsl-live] DSL notification subscriber off — set NOTIFICATIONS_INGEST_URL + SENPI_AUTH_TOKEN/SENPI_API_KEY (unless notifications.dsl_lifecycle: false). Bus events still log above.");
388
392
  }
389
393
  const addressesOnDisk = await stateManager.listStrategyIds();
390
394
  const placeholder = { slots: 99, tradingRisk: "moderate" };
@@ -1 +1 @@
1
- {"version":3,"file":"run-dsl-standalone-live.js","sourceRoot":"","sources":["../../src/scripts/run-dsl-standalone-live.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-dsl-standalone-live.js","sourceRoot":"","sources":["../../src/scripts/run-dsl-standalone-live.ts"],"names":[],"mappings":"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"}
@@ -18,8 +18,8 @@
18
18
  *
19
19
  * Each tick: take the managed skill set from the manifest
20
20
  * (`skills-manifest.json`, the single source of truth), check remote versions
21
- * in parallel, auto-apply patch/minor, notify on major (deduped by version),
22
- * skip on none/unknown.
21
+ * in parallel, auto-apply patch/minor, log a pending major (never applied or
22
+ * notified), skip on none/unknown.
23
23
  */
24
24
  import type { SkillsManagerSnapshot, SkillsUpdateCoordinatorOptions } from "./types.js";
25
25
  export declare class SkillsCoordinatorUnavailableError extends Error {
@@ -18,8 +18,8 @@
18
18
  *
19
19
  * Each tick: take the managed skill set from the manifest
20
20
  * (`skills-manifest.json`, the single source of truth), check remote versions
21
- * in parallel, auto-apply patch/minor, notify on major (deduped by version),
22
- * skip on none/unknown.
21
+ * in parallel, auto-apply patch/minor, log a pending major (never applied or
22
+ * notified), skip on none/unknown.
23
23
  */
24
24
  import { bootstrapSkillsIfNeeded } from "./bootstrap.js";
25
25
  import { withClonedGroups } from "./clone-groups.js";
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=test-setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-setup.d.ts","sourceRoot":"","sources":["../src/test-setup.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Global vitest environment defaults.
3
+ *
4
+ * createNotificationService() throws when it has no notification transport
5
+ * configured (no NOTIFICATIONS_INGEST_URL, no resolvable Senpi auth token) —
6
+ * intentional: a misconfigured runtime must fail at startup, not lose
7
+ * notifications silently later. Most integration tests construct a `Runtime`
8
+ * to exercise scanners/signals/DSL and don't care about notification delivery
9
+ * at all, so they'd otherwise all need to configure a transport just to boot.
10
+ *
11
+ * This sets a harmless default so those tests can boot: a closed local port
12
+ * that refuses the connection immediately (no real network call, no hang).
13
+ * Tests that specifically exercise notification delivery/configuration set or
14
+ * unset these themselves and restore the previous value afterward.
15
+ */
16
+ if (!process.env.NOTIFICATIONS_INGEST_URL) {
17
+ process.env.NOTIFICATIONS_INGEST_URL = "http://127.0.0.1:9/notify";
18
+ }
19
+ if (!process.env.SENPI_AUTH_TOKEN && !process.env.SENPI_API_KEY) {
20
+ process.env.SENPI_API_KEY = "test-senpi-api-key";
21
+ }
22
+ export {};
23
+ //# sourceMappingURL=test-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-setup.js","sourceRoot":"","sources":["../src/test-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAG,2BAA2B,CAAC;AACrE,CAAC;AACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,oBAAoB,CAAC;AACnD,CAAC"}
@@ -313,7 +313,7 @@ export interface DslClosedEvent {
313
313
  size?: number;
314
314
  }
315
315
  /**
316
- * Periodic status for open positions (Telegram), emitted by the monitor on a long interval.
316
+ * Periodic status for open positions, emitted by the monitor on a long interval.
317
317
  */
318
318
  export interface DslHeartbeatEvent {
319
319
  address: string;
@@ -1,4 +1,98 @@
1
+ /**
2
+ * Generic seed context carried by an openable notification. The front-end trusts
3
+ * these keys to reconstruct the tapped notification's chat, so they travel with
4
+ * the payload rather than being re-derived downstream.
5
+ *
6
+ * `notificationId`, `subtype`, `createdAt`, and `contextText` are always present.
7
+ * `address`/`asset`/`dex`/`traderAddress` are optional: runtime alerts are
8
+ * strategy-scoped (no asset), discovery is trader-scoped (no strategy address),
9
+ * so those fields may legitimately be absent.
10
+ */
11
+ export interface NotificationContext {
12
+ notificationId: string;
13
+ subtype: string;
14
+ createdAt: string;
15
+ contextText: string;
16
+ address?: string;
17
+ asset?: string;
18
+ dex?: string;
19
+ traderAddress?: string;
20
+ }
21
+ /**
22
+ * Push/in-app copy for a notification, authored label-free (no `[strategy]`
23
+ * prefix) — the subscriber/emit path prefixes it before it ships.
24
+ */
25
+ export interface NotificationCopy {
26
+ /** Push title, label-free at author time; ≤32 after prefix+truncation. */
27
+ pushTitle: string;
28
+ /** Push body, label-free at author time; ≤128 after prefix+truncation. */
29
+ pushBody: string;
30
+ /** In-app text, label-free at author time; may contain <br> line breaks. */
31
+ inApp: string;
32
+ }
33
+ /** Hard limits the notification service enforces: over-length titles/bodies are dropped, not truncated server-side. */
34
+ export declare const PUSH_TITLE_MAX = 32;
35
+ export declare const PUSH_BODY_MAX = 128;
36
+ /** Truncate to `max` UTF-16 units, appending "…" when clipped. Never splits a
37
+ * surrogate pair: if the cut would land between an emoji's two units, it backs off
38
+ * one so the result ends on a whole character rather than a lone `�`. */
39
+ export declare function truncateForPush(s: string, max: number): string;
40
+ /**
41
+ * Compose the push title as `${prefix}${verb}` within {@link PUSH_TITLE_MAX}. When
42
+ * it overflows, the strategy name inside `prefix` (always `[<name>] `, or "") gives
43
+ * way — clipped with "…" — while the emoji + verb stay whole, because the verb is
44
+ * the meaningful part a glance reads. An empty prefix returns the verb untouched.
45
+ */
46
+ export declare function fitTitleWithLabel(prefix: string, verb: string): string;
47
+ /**
48
+ * Build the `[label] ` prefix every runtime notification family leads its
49
+ * copy with. Empty/whitespace-only labels resolve to no prefix at all (no
50
+ * bracket pair for a strategy with nothing to show).
51
+ */
52
+ export declare function labelPrefix(label: string | undefined): string;
53
+ /** Fields common to every notification payload, openable or not. */
54
+ interface NotificationPayloadBase {
55
+ message: string;
56
+ recipientUserId?: string;
57
+ subtype?: string;
58
+ contextText?: string;
59
+ /** Push/in-app copy block; when absent the envelope builder derives a fallback from `message`. */
60
+ copy?: NotificationCopy;
61
+ }
62
+ /**
63
+ * Structured notification payload, discriminated on `canOpenAgentChat`.
64
+ *
65
+ * When `canOpenAgentChat` is `true` the generic seed `context` is REQUIRED — the
66
+ * compiler catches an openable-without-context at the producer, before the flag
67
+ * reaches a front-end that trusts it. When `false`, `context` is optional.
68
+ *
69
+ * Openability is opt-in and fail-safe: an absent flag is never treated as `true`.
70
+ */
71
+ export type NotificationPayload = (NotificationPayloadBase & {
72
+ canOpenAgentChat: true;
73
+ context: NotificationContext;
74
+ }) | (NotificationPayloadBase & {
75
+ canOpenAgentChat: false;
76
+ context?: NotificationContext;
77
+ });
1
78
  export interface NotificationService {
2
- notify(message: string): Promise<void>;
79
+ notify(input: string | NotificationPayload): Promise<void>;
3
80
  }
81
+ /**
82
+ * Normalize a notify() input to a structured payload.
83
+ *
84
+ * A bare string maps to a non-openable payload carrying that message. A structured
85
+ * payload passes through (copied, never mutated). Openability is fail-safe: only
86
+ * the literal boolean `true` enables the tap — absent, `undefined`, or any junk
87
+ * value resolves to `false`. Never `Boolean(...)`-coerce, which would flip a
88
+ * truthy non-boolean (or a truthy message) into openable.
89
+ */
90
+ export declare function toPayload(input: string | NotificationPayload): NotificationPayload;
91
+ /**
92
+ * Return a copy of the payload with `prefix` prepended to `message` only. Every
93
+ * other field — including the nested `context` and its own prose — is preserved
94
+ * untouched. The input is never mutated. A bare string yields the prefixed string.
95
+ */
96
+ export declare function applyMessagePrefix(input: string | NotificationPayload, prefix: string): string | NotificationPayload;
97
+ export {};
4
98
  //# sourceMappingURL=notification.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../src/types/notification.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC"}
1
+ {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../src/types/notification.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;CACf;AAED,uHAAuH;AACvH,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC;;yEAEyE;AACzE,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAM9D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAQtE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAE7D;AAED,oEAAoE;AACpE,UAAU,uBAAuB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kGAAkG;IAClG,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,mBAAmB,GAC3B,CAAC,uBAAuB,GAAG;IAAE,gBAAgB,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,mBAAmB,CAAA;CAAE,CAAC,GACpF,CAAC,uBAAuB,GAAG;IAAE,gBAAgB,EAAE,KAAK,CAAC;IAAC,OAAO,CAAC,EAAE,mBAAmB,CAAA;CAAE,CAAC,CAAC;AAE3F,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,GAAG,mBAAmB,CAMlF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,GAAG,mBAAmB,EACnC,MAAM,EAAE,MAAM,GACb,MAAM,GAAG,mBAAmB,CAc9B"}
@@ -1,3 +1,78 @@
1
1
  // ─── Notification Service ────────────────────────────────────────────────────
2
- export {};
2
+ /** Hard limits the notification service enforces: over-length titles/bodies are dropped, not truncated server-side. */
3
+ export const PUSH_TITLE_MAX = 32;
4
+ export const PUSH_BODY_MAX = 128;
5
+ /** Truncate to `max` UTF-16 units, appending "…" when clipped. Never splits a
6
+ * surrogate pair: if the cut would land between an emoji's two units, it backs off
7
+ * one so the result ends on a whole character rather than a lone `�`. */
8
+ export function truncateForPush(s, max) {
9
+ if (s.length <= max)
10
+ return s;
11
+ let cut = max - 1; // leave one unit for the ellipsis
12
+ const lastKept = s.charCodeAt(cut - 1);
13
+ if (lastKept >= 0xd800 && lastKept <= 0xdbff)
14
+ cut -= 1; // don't strand a high surrogate
15
+ return s.slice(0, cut) + "…";
16
+ }
17
+ /**
18
+ * Compose the push title as `${prefix}${verb}` within {@link PUSH_TITLE_MAX}. When
19
+ * it overflows, the strategy name inside `prefix` (always `[<name>] `, or "") gives
20
+ * way — clipped with "…" — while the emoji + verb stay whole, because the verb is
21
+ * the meaningful part a glance reads. An empty prefix returns the verb untouched.
22
+ */
23
+ export function fitTitleWithLabel(prefix, verb) {
24
+ const full = `${prefix}${verb}`;
25
+ if (full.length <= PUSH_TITLE_MAX)
26
+ return full;
27
+ // prefix === "[" + name + "] "; reserve those 3 framing units + the whole verb.
28
+ const nameBudget = PUSH_TITLE_MAX - verb.length - 3;
29
+ if (prefix.length < 3 || nameBudget < 1)
30
+ return truncateForPush(full, PUSH_TITLE_MAX);
31
+ const name = prefix.slice(1, prefix.length - 2);
32
+ return `[${truncateForPush(name, nameBudget)}] ${verb}`;
33
+ }
34
+ /**
35
+ * Build the `[label] ` prefix every runtime notification family leads its
36
+ * copy with. Empty/whitespace-only labels resolve to no prefix at all (no
37
+ * bracket pair for a strategy with nothing to show).
38
+ */
39
+ export function labelPrefix(label) {
40
+ return label && label.trim() ? `[${label.trim()}] ` : "";
41
+ }
42
+ /**
43
+ * Normalize a notify() input to a structured payload.
44
+ *
45
+ * A bare string maps to a non-openable payload carrying that message. A structured
46
+ * payload passes through (copied, never mutated). Openability is fail-safe: only
47
+ * the literal boolean `true` enables the tap — absent, `undefined`, or any junk
48
+ * value resolves to `false`. Never `Boolean(...)`-coerce, which would flip a
49
+ * truthy non-boolean (or a truthy message) into openable.
50
+ */
51
+ export function toPayload(input) {
52
+ if (typeof input === "string") {
53
+ return { message: input, canOpenAgentChat: false };
54
+ }
55
+ const canOpen = input.canOpenAgentChat === true;
56
+ return { ...input, canOpenAgentChat: canOpen };
57
+ }
58
+ /**
59
+ * Return a copy of the payload with `prefix` prepended to `message` only. Every
60
+ * other field — including the nested `context` and its own prose — is preserved
61
+ * untouched. The input is never mutated. A bare string yields the prefixed string.
62
+ */
63
+ export function applyMessagePrefix(input, prefix) {
64
+ if (typeof input === "string") {
65
+ return `${prefix}${input}`;
66
+ }
67
+ const out = { ...input, message: `${prefix}${input.message}` };
68
+ if (input.copy) {
69
+ out.copy = {
70
+ // Title: clip the strategy name, keep the emoji + verb whole.
71
+ pushTitle: fitTitleWithLabel(prefix, input.copy.pushTitle),
72
+ pushBody: truncateForPush(`${prefix}${input.copy.pushBody}`, PUSH_BODY_MAX),
73
+ inApp: `${prefix}${input.copy.inApp}`,
74
+ };
75
+ }
76
+ return out;
77
+ }
3
78
  //# sourceMappingURL=notification.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"notification.js","sourceRoot":"","sources":["../../src/types/notification.ts"],"names":[],"mappings":"AAAA,gFAAgF"}
1
+ {"version":3,"file":"notification.js","sourceRoot":"","sources":["../../src/types/notification.ts"],"names":[],"mappings":"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"}
@@ -20,5 +20,11 @@ export interface RuntimeContext {
20
20
  * Optional: actions degrade gracefully when absent (e.g. standalone scripts, older call sites).
21
21
  */
22
22
  positionIdRegistry?: PositionIdRegistry;
23
+ /**
24
+ * Human strategy label (`group` when set, else `name`) every action-emitted
25
+ * notification leads with as a `[label] ` prefix. Optional: absent in older
26
+ * call sites / standalone scripts, which fall back to no prefix.
27
+ */
28
+ notificationLabel?: string;
23
29
  }
24
30
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/types/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC/F,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;AAE7E,MAAM,WAAW,cAAc;IAC7B,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,EAAE,aAAa,CAAC;IAC7B,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/types/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC/F,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;AAE7E,MAAM,WAAW,cAAc;IAC7B,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,EAAE,aAAa,CAAC;IAC7B,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Fixed marker that opens a session-context block sent as a normal `chat.send` user
3
+ * turn. Any producer (e.g. the web/mobile UI when a user taps "reply" on a Senpi
4
+ * notification) can seed context into a chat by wrapping the machine-readable context
5
+ * between this line and {@link SENPI_SESSION_CONTEXT_END}, then appending the
6
+ * human-readable prose after END. The runtime's seed-turn detector matches this literal
7
+ * byte-for-byte (case-sensitive substring), so every producer and this constant MUST
8
+ * agree on the exact text — do not reformat, re-space, or change the run of `-` here
9
+ * without changing every producer in lockstep.
10
+ */
11
+ export declare const SENPI_SESSION_CONTEXT_BEGIN = "-----SESSION-CONTEXT-BEGIN-----";
12
+ /**
13
+ * Fixed marker that closes a session-context block (see
14
+ * {@link SENPI_SESSION_CONTEXT_BEGIN}); the human-readable prose follows this line.
15
+ * Matched byte-for-byte by the runtime detector, so it is a shared contract with every
16
+ * producer — the literal must stay identical on both sides.
17
+ */
18
+ export declare const SENPI_SESSION_CONTEXT_END = "-----SESSION-CONTEXT-END-----";
19
+ //# sourceMappingURL=session-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-context.d.ts","sourceRoot":"","sources":["../../src/types/session-context.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,oCAAoC,CAAC;AAE7E;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,kCAAkC,CAAC"}
@@ -0,0 +1,20 @@
1
+ // ─── Session Context ─────────────────────────────────────────────────────────
2
+ /**
3
+ * Fixed marker that opens a session-context block sent as a normal `chat.send` user
4
+ * turn. Any producer (e.g. the web/mobile UI when a user taps "reply" on a Senpi
5
+ * notification) can seed context into a chat by wrapping the machine-readable context
6
+ * between this line and {@link SENPI_SESSION_CONTEXT_END}, then appending the
7
+ * human-readable prose after END. The runtime's seed-turn detector matches this literal
8
+ * byte-for-byte (case-sensitive substring), so every producer and this constant MUST
9
+ * agree on the exact text — do not reformat, re-space, or change the run of `-` here
10
+ * without changing every producer in lockstep.
11
+ */
12
+ export const SENPI_SESSION_CONTEXT_BEGIN = "-----SESSION-CONTEXT-BEGIN-----";
13
+ /**
14
+ * Fixed marker that closes a session-context block (see
15
+ * {@link SENPI_SESSION_CONTEXT_BEGIN}); the human-readable prose follows this line.
16
+ * Matched byte-for-byte by the runtime detector, so it is a shared contract with every
17
+ * producer — the literal must stay identical on both sides.
18
+ */
19
+ export const SENPI_SESSION_CONTEXT_END = "-----SESSION-CONTEXT-END-----";
20
+ //# sourceMappingURL=session-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-context.js","sourceRoot":"","sources":["../../src/types/session-context.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAEhF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,iCAAiC,CAAC;AAE7E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,+BAA+B,CAAC"}
@@ -63,6 +63,14 @@ export declare const EVENT_NAME: {
63
63
  readonly statePersistFailed: "state.persist_failed";
64
64
  readonly mcpCallFailed: "mcp.call_failed";
65
65
  readonly toolCalled: "tool.called";
66
+ readonly autoUpdateCheckCompleted: "auto_update.check_completed";
67
+ readonly autoUpdateUpdateAvailable: "auto_update.update_available";
68
+ readonly autoUpdateApplied: "auto_update.applied";
69
+ readonly autoUpdateAwaitingRestart: "auto_update.awaiting_restart";
70
+ readonly autoUpdateCheckFailed: "auto_update.check_failed";
71
+ readonly autoUpdateInstallFailed: "auto_update.install_failed";
72
+ readonly autoUpdateRestartFailed: "auto_update.restart_failed";
73
+ readonly autoUpdateDegraded: "auto_update.degraded";
66
74
  };
67
75
  /** The closed set of names accepted by `logger.event`. */
68
76
  export type EventName = (typeof EVENT_NAME)[keyof typeof EVENT_NAME];
@@ -153,6 +161,14 @@ export interface EventAttributes {
153
161
  "dsl.handoff_failed": DslFailureAttrs;
154
162
  "mcp.call_failed": McpCallFailedAttrs;
155
163
  "tool.called": ToolCalledAttrs;
164
+ "auto_update.check_completed": AutoUpdateCheckCompletedAttrs;
165
+ "auto_update.update_available": AutoUpdateAvailableAttrs;
166
+ "auto_update.applied": AutoUpdateAppliedAttrs;
167
+ "auto_update.awaiting_restart": AutoUpdateAwaitingRestartAttrs;
168
+ "auto_update.check_failed": AutoUpdateCheckFailedAttrs;
169
+ "auto_update.install_failed": AutoUpdateInstallFailedAttrs;
170
+ "auto_update.restart_failed": AutoUpdateRestartFailedAttrs;
171
+ "auto_update.degraded": AutoUpdateDegradedAttrs;
156
172
  }
157
173
  /** Shared shape for the three order events; per-event fields are optional (placed has no fill, etc.). */
158
174
  export interface OrderEventAttrs {
@@ -488,6 +504,63 @@ export interface ToolCalledAttrs {
488
504
  /** Low-cardinality error class on an abnormal outcome (`errorTypeOf`). */
489
505
  "error.type"?: string;
490
506
  }
507
+ /**
508
+ * Shared shape for the eight `auto_update.*` plugin self-update lifecycle events — one poll's version
509
+ * check, the resulting notify/apply/restart transitions, and their failure modes. Fired by
510
+ * {@link AutoUpdateCoordinator}, outside any signal/trading flow, so these carry no `senpi.strategy.*`
511
+ * identity (the plugin process, not a strategy, is the subject). Free-text (a thrown error's message
512
+ * and stack) never appears here — it rides `logger.event`'s `error` slot (exception.* semconv) on the
513
+ * three failure events, matching the `order.failed`/`runtime.error` convention. `senpi.auto_update.reason`
514
+ * on `restart_failed`/`degraded` is a short, already-classified string (a capability reason code or a
515
+ * caught error's `.message`), not raw free text, so it stays a plain attribute.
516
+ */
517
+ export interface AutoUpdateCheckCompletedAttrs {
518
+ "senpi.auto_update.current_version": string;
519
+ "senpi.auto_update.latest_version": string;
520
+ /** `none` | `patch` | `minor` | `major`, from `classifyUpdate`. */
521
+ "senpi.auto_update.update_type": string;
522
+ /** Whether this check will proceed to notify/apply (false for `none` and `major`). */
523
+ "senpi.auto_update.will_update": boolean;
524
+ }
525
+ /** A human-facing "update available" notification was sent (major, or notify-only minor/patch). */
526
+ export interface AutoUpdateAvailableAttrs {
527
+ "senpi.auto_update.latest_version": string;
528
+ "senpi.auto_update.update_type": string;
529
+ }
530
+ /** The package install succeeded and a gateway restart was requested. */
531
+ export interface AutoUpdateAppliedAttrs {
532
+ "senpi.auto_update.from_version": string;
533
+ "senpi.auto_update.to_version": string;
534
+ "senpi.auto_update.restart_mode": string;
535
+ }
536
+ /** An already-applied version is still waiting on the gateway restart that was requested for it. */
537
+ export interface AutoUpdateAwaitingRestartAttrs {
538
+ "senpi.auto_update.to_version": string;
539
+ }
540
+ /** The npm version-check RPC threw; the exception rides the event's `error` slot. */
541
+ export interface AutoUpdateCheckFailedAttrs {
542
+ /** Running failure count including this one (mirrors the state's post-increment `consecutiveFailures`). */
543
+ "senpi.auto_update.consecutive_failures": number;
544
+ }
545
+ /** `openclaw plugins update` threw; the exception rides the event's `error` slot. */
546
+ export interface AutoUpdateInstallFailedAttrs {
547
+ "senpi.auto_update.to_version": string;
548
+ }
549
+ /**
550
+ * Install succeeded but the gateway never got restarted — either the restart-capability precheck
551
+ * failed (`senpi.auto_update.reason` carries the joined capability reasons, e.g.
552
+ * `gateway.reload.mode=hot`) or the restart-trigger config bump itself threw (`reason` carries the
553
+ * caught error's message, with the raw error also riding the event's `error` slot). This is the
554
+ * "installed but never loaded / stuck box" case.
555
+ */
556
+ export interface AutoUpdateRestartFailedAttrs {
557
+ "senpi.auto_update.to_version": string;
558
+ "senpi.auto_update.reason": string;
559
+ }
560
+ /** The tick-level aggregate: this poll failed and the coordinator is backing off. */
561
+ export interface AutoUpdateDegradedAttrs {
562
+ "senpi.auto_update.reason": string;
563
+ }
491
564
  /**
492
565
  * The attribute shape for a given event: its typed entry when one exists, else a loose scalar bag so
493
566
  * not-yet-typed events still compile.