@senpi/runtime 1.1.0-dev.runtime-phase-2.20260514144638 → 1.1.0-dev.runtime-phase-2.20260519120952

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 (75) hide show
  1. package/dist/actions/llm-decision/anthropic-llm-decision.d.ts +9 -0
  2. package/dist/actions/llm-decision/anthropic-llm-decision.d.ts.map +1 -1
  3. package/dist/actions/llm-decision/anthropic-llm-decision.js +74 -3
  4. package/dist/actions/llm-decision/anthropic-llm-decision.js.map +1 -1
  5. package/dist/actions/llm-decision/factory.d.ts +6 -0
  6. package/dist/actions/llm-decision/factory.d.ts.map +1 -1
  7. package/dist/actions/llm-decision/factory.js +2 -0
  8. package/dist/actions/llm-decision/factory.js.map +1 -1
  9. package/dist/actions/llm-decision/openclaw-llm-decision.d.ts.map +1 -1
  10. package/dist/actions/llm-decision/openclaw-llm-decision.js +28 -0
  11. package/dist/actions/llm-decision/openclaw-llm-decision.js.map +1 -1
  12. package/dist/cli/senpi-commands.d.ts.map +1 -1
  13. package/dist/cli/senpi-commands.js +73 -6
  14. package/dist/cli/senpi-commands.js.map +1 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +18 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/runtime/run.d.ts +6 -0
  19. package/dist/runtime/run.d.ts.map +1 -1
  20. package/dist/runtime/run.js +1 -0
  21. package/dist/runtime/run.js.map +1 -1
  22. package/dist/runtime/runtime-schema.d.ts +1019 -1
  23. package/dist/runtime/runtime-schema.d.ts.map +1 -1
  24. package/dist/runtime/runtime-schema.js +34 -0
  25. package/dist/runtime/runtime-schema.js.map +1 -1
  26. package/dist/runtime/runtime.d.ts +8 -0
  27. package/dist/runtime/runtime.d.ts.map +1 -1
  28. package/dist/runtime/runtime.js +57 -37
  29. package/dist/runtime/runtime.js.map +1 -1
  30. package/dist/skills-manager/constants.d.ts +34 -0
  31. package/dist/skills-manager/constants.d.ts.map +1 -1
  32. package/dist/skills-manager/constants.js +51 -0
  33. package/dist/skills-manager/constants.js.map +1 -1
  34. package/dist/skills-manager/coordinator.d.ts.map +1 -1
  35. package/dist/skills-manager/coordinator.js +92 -15
  36. package/dist/skills-manager/coordinator.js.map +1 -1
  37. package/dist/skills-manager/types.d.ts +12 -0
  38. package/dist/skills-manager/types.d.ts.map +1 -1
  39. package/dist/skills-manager/utils.d.ts +18 -0
  40. package/dist/skills-manager/utils.d.ts.map +1 -1
  41. package/dist/skills-manager/utils.js +24 -0
  42. package/dist/skills-manager/utils.js.map +1 -1
  43. package/dist/tracking/context.d.ts +31 -0
  44. package/dist/tracking/context.d.ts.map +1 -0
  45. package/dist/tracking/context.js +20 -0
  46. package/dist/tracking/context.js.map +1 -0
  47. package/dist/tracking/spans/constants.d.ts +15 -0
  48. package/dist/tracking/spans/constants.d.ts.map +1 -0
  49. package/dist/tracking/spans/constants.js +18 -0
  50. package/dist/tracking/spans/constants.js.map +1 -0
  51. package/dist/tracking/spans/index.d.ts +13 -0
  52. package/dist/tracking/spans/index.d.ts.map +1 -0
  53. package/dist/tracking/spans/index.js +16 -0
  54. package/dist/tracking/spans/index.js.map +1 -0
  55. package/dist/tracking/spans/plugin-span-tracker.d.ts +3 -0
  56. package/dist/tracking/spans/plugin-span-tracker.d.ts.map +1 -0
  57. package/dist/tracking/spans/plugin-span-tracker.js +24 -0
  58. package/dist/tracking/spans/plugin-span-tracker.js.map +1 -0
  59. package/dist/tracking/spans/span-hooks.d.ts +26 -0
  60. package/dist/tracking/spans/span-hooks.d.ts.map +1 -0
  61. package/dist/tracking/spans/span-hooks.js +365 -0
  62. package/dist/tracking/spans/span-hooks.js.map +1 -0
  63. package/dist/tracking/spans/span-tracker.d.ts +120 -0
  64. package/dist/tracking/spans/span-tracker.d.ts.map +1 -0
  65. package/dist/tracking/spans/span-tracker.js +604 -0
  66. package/dist/tracking/spans/span-tracker.js.map +1 -0
  67. package/dist/tracking/spans/span-transport.d.ts +34 -0
  68. package/dist/tracking/spans/span-transport.d.ts.map +1 -0
  69. package/dist/tracking/spans/span-transport.js +121 -0
  70. package/dist/tracking/spans/span-transport.js.map +1 -0
  71. package/dist/tracking/spans/types.d.ts +78 -0
  72. package/dist/tracking/spans/types.d.ts.map +1 -0
  73. package/dist/tracking/spans/types.js +6 -0
  74. package/dist/tracking/spans/types.js.map +1 -0
  75. package/package.json +1 -1
@@ -26,7 +26,7 @@ import { cloneSkillsRepo } from "./fetcher.js";
26
26
  import { SkillsManagerStateStore } from "./state-store.js";
27
27
  import { checkSkillVersion } from "./version-manager.js";
28
28
  import { installSkill } from "./writer.js";
29
- import { SKILLS_RAW_BASE_URL, SKILLS_REPO_URL } from "./constants.js";
29
+ import { NOTIFICATION_SKILL_LIST_TOP_N, SKILLS_RAW_BASE_URL, SKILLS_REPO_URL, TELEGRAM_NOTIFICATION_BUDGET_CHARS, } from "./constants.js";
30
30
  import { createDefaultSkillState, createDefaultSkillsManagerState, formatErr } from "./utils.js";
31
31
  export class SkillsCoordinatorUnavailableError extends Error {
32
32
  constructor(message) {
@@ -230,6 +230,11 @@ export class SkillsUpdateCoordinator {
230
230
  if (versionInfo.localVersion !== null) {
231
231
  checkedState.installedVersion = versionInfo.localVersion;
232
232
  }
233
+ // Persist the remote version we just learned so the snapshot reflects
234
+ // it across restarts — without this, `senpi.skills.status` returns
235
+ // `latestVersion: null` for every skill for the first
236
+ // (startupDelaySeconds + pollIntervalMinutes) after a gateway restart.
237
+ checkedState.latestVersion = versionInfo.remoteVersion;
233
238
  // NOTE: do NOT clear failure state here. See runTick for rationale —
234
239
  // a successful version check is not proof of operational health. Failure
235
240
  // counters are only reset by `recordSuccess` after a successful install.
@@ -314,7 +319,7 @@ export class SkillsUpdateCoordinator {
314
319
  results.push({ name: skillName, updated: false, version: null, error: errorMessage });
315
320
  continue;
316
321
  }
317
- const { localVersion, updateKind } = checkResult.value;
322
+ const { localVersion, remoteVersion, updateKind } = checkResult.value;
318
323
  // Mirror runTick: every successfully-checked skill gets `lastCheckedAt`
319
324
  // updated and `installedVersion` refreshed from the local read, whether
320
325
  // or not it proceeds to install. Otherwise skills touched only by
@@ -324,6 +329,7 @@ export class SkillsUpdateCoordinator {
324
329
  skillState.lastCheckedAt = new Date().toISOString();
325
330
  if (localVersion !== null)
326
331
  skillState.installedVersion = localVersion;
332
+ skillState.latestVersion = remoteVersion;
327
333
  // NOTE: do NOT clear failure state here. See runTick for rationale —
328
334
  // a successful version check is not proof of operational health.
329
335
  // Failure counters are only reset by `recordSuccess` after a
@@ -466,6 +472,7 @@ export class SkillsUpdateCoordinator {
466
472
  skillState.lastCheckedAt = new Date().toISOString();
467
473
  if (localVersion !== null)
468
474
  skillState.installedVersion = localVersion;
475
+ skillState.latestVersion = remoteVersion;
469
476
  // NOTE: do NOT clear failure state here. A successful version check does
470
477
  // not prove the skill is operationally healthy — it only proves the raw
471
478
  // SKILL.md is reachable. Install failures (clone, copy, swap) reflect
@@ -735,12 +742,19 @@ export class SkillsUpdateCoordinator {
735
742
  * @param errorReason Optional failure reason. When provided, replaces
736
743
  * the description line with `error: …`.
737
744
  */
738
- formatSkillBlock(skillName, toVersion, errorReason = null) {
745
+ formatSkillBlock(skillName, toVersion, errorReason = null, options = {}) {
739
746
  const prev = this.previousVersions.get(skillName) ?? null;
740
747
  const versionLine = errorReason !== null
741
748
  ? ` • ${prev !== null ? `v${prev} ` : ""}(install failed)`
742
749
  : ` • ${prev !== null ? `v${prev} → ` : ""}${toVersion !== null ? `v${toVersion}` : "(unknown)"}`;
743
- const description = this.skillDescriptions.get(skillName) ?? null;
750
+ // `omitDescription` is set when the caller is rebuilding a notification
751
+ // in compact mode after the verbose form exceeded Telegram's per-message
752
+ // byte budget (see `sendUpdateSummary`'s three-tier sizing). The error
753
+ // line for failures is NEVER omitted — it's the actionable bit and a
754
+ // single line, not the source of the overflow.
755
+ const description = options.omitDescription
756
+ ? null
757
+ : (this.skillDescriptions.get(skillName) ?? null);
744
758
  const trailingLine = errorReason !== null
745
759
  ? ` • error: ${errorReason}`
746
760
  : description
@@ -822,18 +836,77 @@ export class SkillsUpdateCoordinator {
822
836
  async sendUpdateSummary(succeededSkillNames, failedSkills) {
823
837
  if (succeededSkillNames.length === 0 && failedSkills.length === 0)
824
838
  return;
825
- const sections = [];
826
- if (succeededSkillNames.length > 0) {
827
- const blocks = succeededSkillNames.map((name) => this.formatSkillBlock(name, this.latestVersions.get(name) ?? null));
828
- sections.push(`Updated:\n\n${blocks.join("\n\n")}`);
829
- }
830
- if (failedSkills.length > 0) {
831
- const blocks = failedSkills.map(({ name, reason }) => this.formatSkillBlock(name, null, reason));
832
- sections.push(`Failed to update:\n\n${blocks.join("\n\n")}`);
839
+ // ── Three-tier size budget ────────────────────────────────────────────
840
+ //
841
+ // Telegram caps a single message at 4096 chars; if we send more, the
842
+ // Bot API rejects with "MESSAGE_TOO_LONG" and the user sees nothing.
843
+ // Discovery-mode deployments with many skills + long descriptions can
844
+ // realistically blow past that. Lead's review comment
845
+ // (PR #78 #discussion_r3247822298): always render *something* useful,
846
+ // never silently drop the notification.
847
+ //
848
+ // Tier 1 (default — verbose): full per-skill blocks with descriptions.
849
+ // Tier 2 (compact): same blocks but with description lines omitted —
850
+ // keeps version transitions + error reasons, which are the
851
+ // actionable bits.
852
+ // Tier 3 (top-N cap): if even compact mode exceeds the budget, render
853
+ // only the first NOTIFICATION_SKILL_LIST_TOP_N of each section with a
854
+ // "… and N more" tail.
855
+ //
856
+ // The 4000-char default budget (vs Telegram's hard 4096) leaves headroom
857
+ // for the gateway's markdown→HTML conversion to add wrapping tags
858
+ // without pushing the payload over. Both the budget and the per-section
859
+ // cap are env-overridable (see `constants.ts`) so operators with
860
+ // alternative transports or different verbosity preferences can tune
861
+ // them without a code change.
862
+ const BUDGET_CHARS = TELEGRAM_NOTIFICATION_BUDGET_CHARS;
863
+ const TOP_N = NOTIFICATION_SKILL_LIST_TOP_N;
864
+ const build = (opts) => {
865
+ const succeededRendered = opts.cap !== undefined
866
+ ? succeededSkillNames.slice(0, opts.cap)
867
+ : succeededSkillNames;
868
+ const failedRendered = opts.cap !== undefined
869
+ ? failedSkills.slice(0, opts.cap)
870
+ : failedSkills;
871
+ const sections = [];
872
+ if (succeededSkillNames.length > 0) {
873
+ const blocks = succeededRendered.map((name) => this.formatSkillBlock(name, this.latestVersions.get(name) ?? null, null, {
874
+ omitDescription: opts.omitDescriptions,
875
+ }));
876
+ // Tail when capped: shows the omitted count so operators know the
877
+ // list isn't the complete picture (and can look at logs for full).
878
+ const tail = opts.cap !== undefined && succeededSkillNames.length > opts.cap
879
+ ? `\n\n… and ${succeededSkillNames.length - opts.cap} more updated skill${succeededSkillNames.length - opts.cap === 1 ? "" : "s"} not shown`
880
+ : "";
881
+ sections.push(`Updated:\n\n${blocks.join("\n\n")}${tail}`);
882
+ }
883
+ if (failedSkills.length > 0) {
884
+ const blocks = failedRendered.map(({ name, reason }) => this.formatSkillBlock(name, null, reason, {
885
+ omitDescription: opts.omitDescriptions,
886
+ }));
887
+ const tail = opts.cap !== undefined && failedSkills.length > opts.cap
888
+ ? `\n\n… and ${failedSkills.length - opts.cap} more failed skill${failedSkills.length - opts.cap === 1 ? "" : "s"} not shown`
889
+ : "";
890
+ sections.push(`Failed to update:\n\n${blocks.join("\n\n")}${tail}`);
891
+ }
892
+ return `Senpi skills update:\n\n${sections.join("\n\n")}`;
893
+ };
894
+ // Tier 1: verbose
895
+ let message = build({ omitDescriptions: false });
896
+ let tier = "verbose";
897
+ if (message.length > BUDGET_CHARS) {
898
+ // Tier 2: drop descriptions
899
+ message = build({ omitDescriptions: true });
900
+ tier = "compact (descriptions omitted)";
901
+ if (message.length > BUDGET_CHARS) {
902
+ // Tier 3: cap each section to top-N
903
+ message = build({ omitDescriptions: true, cap: TOP_N });
904
+ tier = `capped (top ${TOP_N} per section, descriptions omitted)`;
905
+ }
833
906
  }
834
907
  try {
835
- await this.options.notify(`Senpi skills update:\n\n${sections.join("\n\n")}`);
836
- this.options.logger.info(`[senpi-skills-manager] sendUpdateSummary — notification sent | succeeded=${succeededSkillNames.length} failed=${failedSkills.length}`);
908
+ await this.options.notify(message);
909
+ this.options.logger.info(`[senpi-skills-manager] sendUpdateSummary — notification sent | succeeded=${succeededSkillNames.length} failed=${failedSkills.length} tier=${tier} messageChars=${message.length}`);
837
910
  }
838
911
  catch (err) {
839
912
  this.options.logger.warn(`[senpi-skills-manager] failed to send update summary notification: ${formatErr(err)}`);
@@ -917,7 +990,11 @@ export class SkillsUpdateCoordinator {
917
990
  const skillSnapshots = Object.values(this.state.skills).map((skillState) => ({
918
991
  name: skillState.name,
919
992
  installedVersion: skillState.installedVersion,
920
- latestVersion: this.latestVersions.get(skillState.name) ?? null,
993
+ // Prefer the in-memory map (freshest — populated synchronously inside
994
+ // the current tick before `persistState` runs) and fall back to the
995
+ // persisted field. The persisted fallback covers the post-restart
996
+ // window where the map is empty until the first external tick fires.
997
+ latestVersion: this.latestVersions.get(skillState.name) ?? skillState.latestVersion ?? null,
921
998
  lastCheckedAt: skillState.lastCheckedAt,
922
999
  consecutiveFailures: skillState.consecutiveFailures,
923
1000
  lastFailureReason: skillState.lastFailureReason,
@@ -1 +1 @@
1
- {"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../src/skills-manager/coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../src/skills-manager/coordinator.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,18 @@ export interface SkillsManagerConfig {
51
51
  export interface SkillState {
52
52
  name: string;
53
53
  installedVersion: string | null;
54
+ /**
55
+ * Most recent remote version observed during a successful version check.
56
+ * Persisted (alongside `installedVersion`) so `getSnapshot()` — and
57
+ * therefore `senpi.skills.status` / dashboards — return useful data
58
+ * immediately after a gateway restart, instead of `null` until the first
59
+ * post-restart tick fires (which can be up to
60
+ * `autoUpdate.startupDelaySeconds` + one poll interval away).
61
+ *
62
+ * Written by every code path that calls `checkSkillVersion` (tick,
63
+ * `updateSkill`, `updateAll`); read by `buildSnapshot`.
64
+ */
65
+ latestVersion: string | null;
54
66
  lastCheckedAt: string | null;
55
67
  lastAppliedVersion: string | null;
56
68
  /** Dedup key: if remote major version matches this, skip re-notification. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/skills-manager/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/skills-manager/types.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,24 @@ export declare function createDefaultSkillsManagerState(): SkillsManagerState;
43
43
  export declare function createDefaultSkillState(name: string): SkillState;
44
44
  /** Formats an unknown thrown value as a short string for log messages. */
45
45
  export declare function formatErr(e: unknown): string;
46
+ /**
47
+ * Parse a positive integer from an env-var string, falling back to the
48
+ * supplied default on anything unparseable, zero, or negative.
49
+ *
50
+ * Used to load numeric env-overridable constants in `constants.ts` (e.g.
51
+ * `TELEGRAM_NOTIFICATION_BUDGET_CHARS`) without throwing at module load
52
+ * time when the env var is bogus — matches the rest of `constants.ts`'s
53
+ * "default wins on bad input, never crash startup" style.
54
+ *
55
+ * Examples:
56
+ * parseEnvPositiveInt("8000", 4000) // 8000 (valid override)
57
+ * parseEnvPositiveInt("abc", 4000) // 4000 (unparseable → default)
58
+ * parseEnvPositiveInt("0", 4000) // 4000 (zero → default)
59
+ * parseEnvPositiveInt("-100", 4000) // 4000 (negative → default)
60
+ * parseEnvPositiveInt("", 4000) // 4000 (empty → default)
61
+ * parseEnvPositiveInt(undefined, 4000) // 4000 (unset → default)
62
+ */
63
+ export declare function parseEnvPositiveInt(envValue: string | undefined, defaultValue: number): number;
46
64
  /**
47
65
  * Normalise the raw `skillsDir` value into a non-empty `string[]` (the
48
66
  * "search path" form used internally).
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/skills-manager/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAA8B,CAAC;AAEnF;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,CAAC,EAAE,sBAAsB,GAAG,IAAI,GACpC,mBAAmB,CAcrB;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,IAAI,kBAAkB,CAEpE;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAWhE;AAED,0EAA0E;AAC1E,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAE5C;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAc3D"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/skills-manager/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAA8B,CAAC;AAEnF;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,CAAC,EAAE,sBAAsB,GAAG,IAAI,GACpC,mBAAmB,CAcrB;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,IAAI,kBAAkB,CAEpE;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAYhE;AAED,0EAA0E;AAC1E,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAE5C;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAI9F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAc3D"}
@@ -60,6 +60,7 @@ export function createDefaultSkillState(name) {
60
60
  return {
61
61
  name,
62
62
  installedVersion: null,
63
+ latestVersion: null,
63
64
  lastCheckedAt: null,
64
65
  lastAppliedVersion: null,
65
66
  lastNotifiedMajorVersion: null,
@@ -72,6 +73,29 @@ export function createDefaultSkillState(name) {
72
73
  export function formatErr(e) {
73
74
  return e instanceof Error ? e.message : String(e);
74
75
  }
76
+ /**
77
+ * Parse a positive integer from an env-var string, falling back to the
78
+ * supplied default on anything unparseable, zero, or negative.
79
+ *
80
+ * Used to load numeric env-overridable constants in `constants.ts` (e.g.
81
+ * `TELEGRAM_NOTIFICATION_BUDGET_CHARS`) without throwing at module load
82
+ * time when the env var is bogus — matches the rest of `constants.ts`'s
83
+ * "default wins on bad input, never crash startup" style.
84
+ *
85
+ * Examples:
86
+ * parseEnvPositiveInt("8000", 4000) // 8000 (valid override)
87
+ * parseEnvPositiveInt("abc", 4000) // 4000 (unparseable → default)
88
+ * parseEnvPositiveInt("0", 4000) // 4000 (zero → default)
89
+ * parseEnvPositiveInt("-100", 4000) // 4000 (negative → default)
90
+ * parseEnvPositiveInt("", 4000) // 4000 (empty → default)
91
+ * parseEnvPositiveInt(undefined, 4000) // 4000 (unset → default)
92
+ */
93
+ export function parseEnvPositiveInt(envValue, defaultValue) {
94
+ if (envValue === undefined || envValue === "")
95
+ return defaultValue;
96
+ const n = parseInt(envValue, 10);
97
+ return Number.isFinite(n) && n > 0 ? n : defaultValue;
98
+ }
75
99
  /**
76
100
  * Normalise the raw `skillsDir` value into a non-empty `string[]` (the
77
101
  * "search path" form used internally).
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/skills-manager/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAQrD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAsB,CAAC,uBAAuB,CAAC,CAAC;AAEnF;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAqC;IAErC,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE,CAAC;IACxB,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC;QAClC,SAAS,EAAE,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC;QAC5C,4DAA4D;QAC5D,sEAAsE;QACtE,uEAAuE;QACvE,6BAA6B;QAC7B,oEAAoE;QACpE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;YAC/B,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC;KAChC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,+BAA+B;IAC7C,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACxB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,OAAO;QACL,IAAI;QACJ,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,IAAI;QACnB,kBAAkB,EAAE,IAAI;QACxB,wBAAwB,EAAE,IAAI;QAC9B,mBAAmB,EAAE,CAAC;QACtB,aAAa,EAAE,IAAI;QACnB,iBAAiB,EAAE,IAAI;KACxB,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,SAAS,CAAC,CAAU;IAClC,OAAO,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,KAAK;aACnB,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;aACjD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,QAAQ,CAAC;IAC3C,CAAC;IACD,2EAA2E;IAC3E,4EAA4E;IAC5E,OAAO,CAAC,GAAG,mBAAmB,CAAC,CAAC;AAClC,CAAC;AAED,+EAA+E;AAC/E,+EAA+E;AAC/E,qEAAqE;AACrE,2EAA2E;AAC3E,4EAA4E;AAC5E,4EAA4E;AAC5E,mEAAmE;AACnE,SAAS,MAAM,CAAC,KAAc,EAAE,QAAiB;IAC/C,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/skills-manager/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * AsyncLocalStorage-based propagation of senpi tracking context.
3
+ *
4
+ * Why: when a senpi runtime processes a signal it owns a correlationId that
5
+ * connects all events for that flow (scanner → decision → action → position →
6
+ * DSL). If that flow makes LLM calls, the spans those calls produce should
7
+ * carry the same correlationId so events and spans can be joined downstream.
8
+ *
9
+ * AsyncLocalStorage is per-async-call-chain, so it is concurrency-safe even if
10
+ * signal processing is parallelized later. Crossing process boundaries
11
+ * (e.g. POST to OpenClaw's /tools/invoke) needs explicit propagation through
12
+ * headers — see openclaw-llm-decision.ts.
13
+ */
14
+ import { AsyncLocalStorage } from "node:async_hooks";
15
+ export interface TrackingContext {
16
+ correlationId: string;
17
+ /** Strategy wallet (lowercased). May be empty when a runtime has no wallet (rare). */
18
+ address: string;
19
+ /** Recipe name (the YAML `name:` field). User-meaningful label, e.g. "viper". */
20
+ recipeName: string;
21
+ /** Stable UUID for this runtime install (from the plugin registry). */
22
+ runtimeId: string;
23
+ /** Plugin version. */
24
+ runtimeVersion: string;
25
+ /** UUID generated once at runtime startup; lets you group direct-path spans per process. */
26
+ runtimeBootId: string;
27
+ }
28
+ export declare const trackingContext: AsyncLocalStorage<TrackingContext>;
29
+ /** Returns the current tracking context, or null when running outside any signal flow. */
30
+ export declare function getTrackingContext(): TrackingContext | null;
31
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/tracking/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,sFAAsF;IACtF,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,4FAA4F;IAC5F,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,eAAe,oCAA2C,CAAC;AAExE,0FAA0F;AAC1F,wBAAgB,kBAAkB,IAAI,eAAe,GAAG,IAAI,CAE3D"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * AsyncLocalStorage-based propagation of senpi tracking context.
3
+ *
4
+ * Why: when a senpi runtime processes a signal it owns a correlationId that
5
+ * connects all events for that flow (scanner → decision → action → position →
6
+ * DSL). If that flow makes LLM calls, the spans those calls produce should
7
+ * carry the same correlationId so events and spans can be joined downstream.
8
+ *
9
+ * AsyncLocalStorage is per-async-call-chain, so it is concurrency-safe even if
10
+ * signal processing is parallelized later. Crossing process boundaries
11
+ * (e.g. POST to OpenClaw's /tools/invoke) needs explicit propagation through
12
+ * headers — see openclaw-llm-decision.ts.
13
+ */
14
+ import { AsyncLocalStorage } from "node:async_hooks";
15
+ export const trackingContext = new AsyncLocalStorage();
16
+ /** Returns the current tracking context, or null when running outside any signal flow. */
17
+ export function getTrackingContext() {
18
+ return trackingContext.getStore() ?? null;
19
+ }
20
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/tracking/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAgBrD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,iBAAiB,EAAmB,CAAC;AAExE,0FAA0F;AAC1F,MAAM,UAAU,kBAAkB;IAChC,OAAO,eAAe,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Span telemetry constants: API path, batching thresholds, orphan-sweep timings.
3
+ */
4
+ export declare const SPANS_API_PATH = "/api/v1/tracking/spans";
5
+ export declare const FLUSH_INTERVAL_MS = 10000;
6
+ export declare const FLUSH_THRESHOLD = 50;
7
+ export declare const MAX_BUFFER_SIZE = 500;
8
+ export declare const STALE_TIMEOUT_MS: number;
9
+ export declare const SWEEP_INTERVAL_MS = 60000;
10
+ export declare const HEADER_CORRELATION_ID = "x-senpi-correlation-id";
11
+ export declare const HEADER_ADDRESS = "x-senpi-address";
12
+ export declare const HEADER_RECIPE_NAME = "x-senpi-recipe-name";
13
+ export declare const HEADER_RUNTIME_ID = "x-senpi-runtime-id";
14
+ export declare const HEADER_RUNTIME_VERSION = "x-senpi-runtime-version";
15
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/tracking/spans/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,cAAc,2BAA2B,CAAC;AAGvD,eAAO,MAAM,iBAAiB,QAAS,CAAC;AACxC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,eAAe,MAAM,CAAC;AAGnC,eAAO,MAAM,gBAAgB,QAAa,CAAC;AAC3C,eAAO,MAAM,iBAAiB,QAAS,CAAC;AAGxC,eAAO,MAAM,qBAAqB,2BAA2B,CAAC;AAC9D,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAChD,eAAO,MAAM,kBAAkB,wBAAwB,CAAC;AACxD,eAAO,MAAM,iBAAiB,uBAAuB,CAAC;AACtD,eAAO,MAAM,sBAAsB,4BAA4B,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Span telemetry constants: API path, batching thresholds, orphan-sweep timings.
3
+ */
4
+ export const SPANS_API_PATH = "/api/v1/tracking/spans";
5
+ // Transport batching — mirrors the events transport defaults.
6
+ export const FLUSH_INTERVAL_MS = 10_000;
7
+ export const FLUSH_THRESHOLD = 50;
8
+ export const MAX_BUFFER_SIZE = 500;
9
+ // In-memory span lifecycle — sweep abandoned spans so they don't accumulate.
10
+ export const STALE_TIMEOUT_MS = 5 * 60_000;
11
+ export const SWEEP_INTERVAL_MS = 60_000;
12
+ // Header names used to cross the runtime → OpenClaw HTTP boundary.
13
+ export const HEADER_CORRELATION_ID = "x-senpi-correlation-id";
14
+ export const HEADER_ADDRESS = "x-senpi-address";
15
+ export const HEADER_RECIPE_NAME = "x-senpi-recipe-name";
16
+ export const HEADER_RUNTIME_ID = "x-senpi-runtime-id";
17
+ export const HEADER_RUNTIME_VERSION = "x-senpi-runtime-version";
18
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/tracking/spans/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,wBAAwB,CAAC;AAEvD,8DAA8D;AAC9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACxC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AAEnC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAG,MAAM,CAAC;AAC3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAExC,mEAAmE;AACnE,MAAM,CAAC,MAAM,qBAAqB,GAAG,wBAAwB,CAAC;AAC9D,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAChD,MAAM,CAAC,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;AACxD,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Span telemetry — barrel export.
3
+ */
4
+ export type { EmissionSource, OpenSpan, OpenSubagentSpan, SpanTransport, SpanType, TrackingSpan, } from "./types.js";
5
+ export { SPANS_API_PATH, HEADER_CORRELATION_ID, HEADER_ADDRESS, HEADER_RECIPE_NAME, HEADER_RUNTIME_ID, HEADER_RUNTIME_VERSION, } from "./constants.js";
6
+ export { BatchingSpanTransport, NoOpSpanTransport, type BatchingSpanTransportOptions, } from "./span-transport.js";
7
+ export { SpanTracker, type AgentEndInput, type DirectLlmSpanInput, type FinalizeLlmSpanInput, type FinalizeSubagentInput, type FinalizeToolSpanInput, type MergeSubagentInput, type OpenLlmSpanInput, type OpenSubagentInput, type OpenToolSpanInput, type SpanContextFields, type SpanTrackerOptions, } from "./span-tracker.js";
8
+ export { registerSpanHooks, type RegisterSpanHooksOptions, type SpanHooksPluginApi, } from "./span-hooks.js";
9
+ export { createPluginSpanTracker } from "./plugin-span-tracker.js";
10
+ import type { SpanTracker as _SpanTracker } from "./span-tracker.js";
11
+ export declare function setDefaultSpanTracker(tracker: _SpanTracker | null): void;
12
+ export declare function getDefaultSpanTracker(): _SpanTracker | null;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tracking/spans/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EACV,cAAc,EACd,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,4BAA4B,GAClC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,WAAW,EACX,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAMnE,OAAO,KAAK,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAErE,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAExE;AACD,wBAAgB,qBAAqB,IAAI,YAAY,GAAG,IAAI,CAE3D"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Span telemetry — barrel export.
3
+ */
4
+ export { SPANS_API_PATH, HEADER_CORRELATION_ID, HEADER_ADDRESS, HEADER_RECIPE_NAME, HEADER_RUNTIME_ID, HEADER_RUNTIME_VERSION, } from "./constants.js";
5
+ export { BatchingSpanTransport, NoOpSpanTransport, } from "./span-transport.js";
6
+ export { SpanTracker, } from "./span-tracker.js";
7
+ export { registerSpanHooks, } from "./span-hooks.js";
8
+ export { createPluginSpanTracker } from "./plugin-span-tracker.js";
9
+ let defaultSpanTracker = null;
10
+ export function setDefaultSpanTracker(tracker) {
11
+ defaultSpanTracker = tracker;
12
+ }
13
+ export function getDefaultSpanTracker() {
14
+ return defaultSpanTracker;
15
+ }
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tracking/spans/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,GAElB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,WAAW,GAYZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,GAGlB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAOnE,IAAI,kBAAkB,GAAwB,IAAI,CAAC;AACnD,MAAM,UAAU,qBAAqB,CAAC,OAA4B;IAChE,kBAAkB,GAAG,OAAO,CAAC;AAC/B,CAAC;AACD,MAAM,UAAU,qBAAqB;IACnC,OAAO,kBAAkB,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { SpanTracker } from "./span-tracker.js";
2
+ export declare function createPluginSpanTracker(apiKey: string | undefined): SpanTracker;
3
+ //# sourceMappingURL=plugin-span-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-span-tracker.d.ts","sourceRoot":"","sources":["../../../src/tracking/spans/plugin-span-tracker.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,WAAW,CAWb"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Plugin-scoped SpanTracker factory.
3
+ *
4
+ * One SpanTracker is built at plugin register() and shared across all runtime
5
+ * instances and OpenClaw hooks running inside this gateway. The transport is
6
+ * authenticated with the gateway's single SENPI_API_KEY (one-gateway-per-user
7
+ * deployment assumption).
8
+ */
9
+ import { createLogger } from "../../utils/logger.js";
10
+ import { TRACKING_API_BASE_URL } from "../constants.js";
11
+ import { BatchingSpanTransport, NoOpSpanTransport } from "./span-transport.js";
12
+ import { SpanTracker } from "./span-tracker.js";
13
+ const logger = createLogger("[senpi-core][plugin-span-tracker]");
14
+ export function createPluginSpanTracker(apiKey) {
15
+ const trackingBaseUrl = process.env.SENPI_TRACKING_URL ?? TRACKING_API_BASE_URL;
16
+ const transport = apiKey
17
+ ? new BatchingSpanTransport({ baseUrl: trackingBaseUrl, apiKey })
18
+ : (() => {
19
+ logger.warn("span telemetry disabled: set SENPI_API_KEY (or pass apiKey) so spans reach senpi-agent-telemetry; NoOpSpanTransport drops spans");
20
+ return new NoOpSpanTransport();
21
+ })();
22
+ return new SpanTracker({ transport });
23
+ }
24
+ //# sourceMappingURL=plugin-span-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-span-tracker.js","sourceRoot":"","sources":["../../../src/tracking/spans/plugin-span-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,MAAM,GAAG,YAAY,CAAC,mCAAmC,CAAC,CAAC;AAEjE,MAAM,UAAU,uBAAuB,CACrC,MAA0B;IAE1B,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,qBAAqB,CAAC;IAChF,MAAM,SAAS,GAAG,MAAM;QACtB,CAAC,CAAC,IAAI,qBAAqB,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;QACjE,CAAC,CAAC,CAAC,GAAG,EAAE;YACJ,MAAM,CAAC,IAAI,CACT,iIAAiI,CAClI,CAAC;YACF,OAAO,IAAI,iBAAiB,EAAE,CAAC;QACjC,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,IAAI,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;AACxC,CAAC"}