@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.
- package/dist/actions/llm-decision/anthropic-llm-decision.d.ts +9 -0
- package/dist/actions/llm-decision/anthropic-llm-decision.d.ts.map +1 -1
- package/dist/actions/llm-decision/anthropic-llm-decision.js +74 -3
- package/dist/actions/llm-decision/anthropic-llm-decision.js.map +1 -1
- package/dist/actions/llm-decision/factory.d.ts +6 -0
- package/dist/actions/llm-decision/factory.d.ts.map +1 -1
- package/dist/actions/llm-decision/factory.js +2 -0
- package/dist/actions/llm-decision/factory.js.map +1 -1
- package/dist/actions/llm-decision/openclaw-llm-decision.d.ts.map +1 -1
- package/dist/actions/llm-decision/openclaw-llm-decision.js +28 -0
- package/dist/actions/llm-decision/openclaw-llm-decision.js.map +1 -1
- package/dist/cli/senpi-commands.d.ts.map +1 -1
- package/dist/cli/senpi-commands.js +73 -6
- package/dist/cli/senpi-commands.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -1
- package/dist/runtime/run.d.ts +6 -0
- package/dist/runtime/run.d.ts.map +1 -1
- package/dist/runtime/run.js +1 -0
- package/dist/runtime/run.js.map +1 -1
- package/dist/runtime/runtime-schema.d.ts +1019 -1
- package/dist/runtime/runtime-schema.d.ts.map +1 -1
- package/dist/runtime/runtime-schema.js +34 -0
- package/dist/runtime/runtime-schema.js.map +1 -1
- package/dist/runtime/runtime.d.ts +8 -0
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +57 -37
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/skills-manager/constants.d.ts +34 -0
- package/dist/skills-manager/constants.d.ts.map +1 -1
- package/dist/skills-manager/constants.js +51 -0
- package/dist/skills-manager/constants.js.map +1 -1
- package/dist/skills-manager/coordinator.d.ts.map +1 -1
- package/dist/skills-manager/coordinator.js +92 -15
- package/dist/skills-manager/coordinator.js.map +1 -1
- package/dist/skills-manager/types.d.ts +12 -0
- package/dist/skills-manager/types.d.ts.map +1 -1
- package/dist/skills-manager/utils.d.ts +18 -0
- package/dist/skills-manager/utils.d.ts.map +1 -1
- package/dist/skills-manager/utils.js +24 -0
- package/dist/skills-manager/utils.js.map +1 -1
- package/dist/tracking/context.d.ts +31 -0
- package/dist/tracking/context.d.ts.map +1 -0
- package/dist/tracking/context.js +20 -0
- package/dist/tracking/context.js.map +1 -0
- package/dist/tracking/spans/constants.d.ts +15 -0
- package/dist/tracking/spans/constants.d.ts.map +1 -0
- package/dist/tracking/spans/constants.js +18 -0
- package/dist/tracking/spans/constants.js.map +1 -0
- package/dist/tracking/spans/index.d.ts +13 -0
- package/dist/tracking/spans/index.d.ts.map +1 -0
- package/dist/tracking/spans/index.js +16 -0
- package/dist/tracking/spans/index.js.map +1 -0
- package/dist/tracking/spans/plugin-span-tracker.d.ts +3 -0
- package/dist/tracking/spans/plugin-span-tracker.d.ts.map +1 -0
- package/dist/tracking/spans/plugin-span-tracker.js +24 -0
- package/dist/tracking/spans/plugin-span-tracker.js.map +1 -0
- package/dist/tracking/spans/span-hooks.d.ts +26 -0
- package/dist/tracking/spans/span-hooks.d.ts.map +1 -0
- package/dist/tracking/spans/span-hooks.js +365 -0
- package/dist/tracking/spans/span-hooks.js.map +1 -0
- package/dist/tracking/spans/span-tracker.d.ts +120 -0
- package/dist/tracking/spans/span-tracker.d.ts.map +1 -0
- package/dist/tracking/spans/span-tracker.js +604 -0
- package/dist/tracking/spans/span-tracker.js.map +1 -0
- package/dist/tracking/spans/span-transport.d.ts +34 -0
- package/dist/tracking/spans/span-transport.d.ts.map +1 -0
- package/dist/tracking/spans/span-transport.js +121 -0
- package/dist/tracking/spans/span-transport.js.map +1 -0
- package/dist/tracking/spans/types.d.ts +78 -0
- package/dist/tracking/spans/types.d.ts.map +1 -0
- package/dist/tracking/spans/types.js +6 -0
- package/dist/tracking/spans/types.js.map +1 -0
- 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
|
-
|
|
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
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
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(
|
|
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
|
-
|
|
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,
|
|
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 @@
|
|
|
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"}
|