@elizaos/shared 2.0.0-alpha.144
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/LICENSE +21 -0
- package/awareness/index.d.ts +2 -0
- package/awareness/index.d.ts.map +1 -0
- package/awareness/index.js +2 -0
- package/awareness/index.js.map +1 -0
- package/awareness/registry.d.ts +27 -0
- package/awareness/registry.d.ts.map +1 -0
- package/awareness/registry.js +162 -0
- package/awareness/registry.js.map +1 -0
- package/config/types.agent-defaults.d.ts +333 -0
- package/config/types.agent-defaults.d.ts.map +1 -0
- package/config/types.agent-defaults.js +2 -0
- package/config/types.agent-defaults.js.map +1 -0
- package/config/types.agents.d.ts +112 -0
- package/config/types.agents.d.ts.map +1 -0
- package/config/types.agents.js +2 -0
- package/config/types.agents.js.map +1 -0
- package/config/types.d.ts +8 -0
- package/config/types.d.ts.map +1 -0
- package/config/types.eliza.d.ts +648 -0
- package/config/types.eliza.d.ts.map +1 -0
- package/config/types.eliza.js +2 -0
- package/config/types.eliza.js.map +1 -0
- package/config/types.gateway.d.ts +216 -0
- package/config/types.gateway.d.ts.map +1 -0
- package/config/types.gateway.js +2 -0
- package/config/types.gateway.js.map +1 -0
- package/config/types.hooks.d.ts +107 -0
- package/config/types.hooks.d.ts.map +1 -0
- package/config/types.hooks.js +2 -0
- package/config/types.hooks.js.map +1 -0
- package/config/types.js +8 -0
- package/config/types.js.map +1 -0
- package/config/types.messages.d.ts +176 -0
- package/config/types.messages.d.ts.map +1 -0
- package/config/types.messages.js +2 -0
- package/config/types.messages.js.map +1 -0
- package/config/types.tools.d.ts +400 -0
- package/config/types.tools.d.ts.map +1 -0
- package/config/types.tools.js +2 -0
- package/config/types.tools.js.map +1 -0
- package/connectors.d.ts +13 -0
- package/connectors.d.ts.map +1 -0
- package/connectors.js +92 -0
- package/connectors.js.map +1 -0
- package/contracts/apps.d.ts +204 -0
- package/contracts/apps.d.ts.map +1 -0
- package/contracts/apps.js +189 -0
- package/contracts/apps.js.map +1 -0
- package/contracts/awareness.d.ts +38 -0
- package/contracts/awareness.d.ts.map +1 -0
- package/contracts/awareness.js +8 -0
- package/contracts/awareness.js.map +1 -0
- package/contracts/cloud-topology.d.ts +13 -0
- package/contracts/cloud-topology.d.ts.map +1 -0
- package/contracts/cloud-topology.js +74 -0
- package/contracts/cloud-topology.js.map +1 -0
- package/contracts/config.d.ts +146 -0
- package/contracts/config.d.ts.map +1 -0
- package/contracts/config.js +5 -0
- package/contracts/config.js.map +1 -0
- package/contracts/content-pack.d.ts +131 -0
- package/contracts/content-pack.d.ts.map +1 -0
- package/contracts/content-pack.js +103 -0
- package/contracts/content-pack.js.map +1 -0
- package/contracts/drop.d.ts +20 -0
- package/contracts/drop.d.ts.map +1 -0
- package/contracts/drop.js +5 -0
- package/contracts/drop.js.map +1 -0
- package/contracts/index.d.ts +13 -0
- package/contracts/index.d.ts.map +1 -0
- package/contracts/index.js +13 -0
- package/contracts/index.js.map +1 -0
- package/contracts/lifeops.d.ts +1337 -0
- package/contracts/lifeops.d.ts.map +1 -0
- package/contracts/lifeops.js +279 -0
- package/contracts/lifeops.js.map +1 -0
- package/contracts/onboarding.d.ts +443 -0
- package/contracts/onboarding.d.ts.map +1 -0
- package/contracts/onboarding.js +1021 -0
- package/contracts/onboarding.js.map +1 -0
- package/contracts/permissions.d.ts +38 -0
- package/contracts/permissions.d.ts.map +1 -0
- package/contracts/permissions.js +5 -0
- package/contracts/permissions.js.map +1 -0
- package/contracts/service-routing.d.ts +77 -0
- package/contracts/service-routing.d.ts.map +1 -0
- package/contracts/service-routing.js +228 -0
- package/contracts/service-routing.js.map +1 -0
- package/contracts/theme.d.ts +136 -0
- package/contracts/theme.d.ts.map +1 -0
- package/contracts/theme.js +134 -0
- package/contracts/theme.js.map +1 -0
- package/contracts/verification.d.ts +9 -0
- package/contracts/verification.d.ts.map +1 -0
- package/contracts/verification.js +5 -0
- package/contracts/verification.js.map +1 -0
- package/contracts/wallet.d.ts +626 -0
- package/contracts/wallet.d.ts.map +1 -0
- package/contracts/wallet.js +61 -0
- package/contracts/wallet.js.map +1 -0
- package/dev-settings-banner-style.d.ts +14 -0
- package/dev-settings-banner-style.d.ts.map +1 -0
- package/dev-settings-banner-style.js +58 -0
- package/dev-settings-banner-style.js.map +1 -0
- package/dev-settings-figlet-heading.d.ts +22 -0
- package/dev-settings-figlet-heading.d.ts.map +1 -0
- package/dev-settings-figlet-heading.js +56 -0
- package/dev-settings-figlet-heading.js.map +1 -0
- package/dev-settings-table.d.ts +47 -0
- package/dev-settings-table.d.ts.map +1 -0
- package/dev-settings-table.js +189 -0
- package/dev-settings-table.js.map +1 -0
- package/eliza-core-roles.d.ts +70 -0
- package/eliza-core-roles.d.ts.map +1 -0
- package/eliza-core-roles.js +546 -0
- package/eliza-core-roles.js.map +1 -0
- package/env-utils.d.ts +5 -0
- package/env-utils.d.ts.map +1 -0
- package/env-utils.impl.d.ts +2 -0
- package/env-utils.impl.d.ts.map +1 -0
- package/env-utils.impl.js +17 -0
- package/env-utils.impl.js.map +1 -0
- package/env-utils.js +5 -0
- package/env-utils.js.map +1 -0
- package/i18n/generated/validation-keyword-data.d.ts +1030 -0
- package/i18n/generated/validation-keyword-data.d.ts.map +1 -0
- package/i18n/generated/validation-keyword-data.js +1034 -0
- package/i18n/generated/validation-keyword-data.js.map +1 -0
- package/i18n/keyword-matching.d.ts +23 -0
- package/i18n/keyword-matching.d.ts.map +1 -0
- package/i18n/keyword-matching.js +113 -0
- package/i18n/keyword-matching.js.map +1 -0
- package/i18n/validation-keywords.d.ts +13 -0
- package/i18n/validation-keywords.d.ts.map +1 -0
- package/i18n/validation-keywords.js +13 -0
- package/i18n/validation-keywords.js.map +1 -0
- package/index.d.ts +13 -0
- package/index.d.ts.map +1 -0
- package/index.js +13 -0
- package/index.js.map +1 -0
- package/onboarding-presets.characters.d.ts +22 -0
- package/onboarding-presets.characters.d.ts.map +1 -0
- package/onboarding-presets.characters.js +2607 -0
- package/onboarding-presets.characters.js.map +1 -0
- package/onboarding-presets.d.ts +40 -0
- package/onboarding-presets.d.ts.map +1 -0
- package/onboarding-presets.js +177 -0
- package/onboarding-presets.js.map +1 -0
- package/onboarding-presets.shared.d.ts +2 -0
- package/onboarding-presets.shared.d.ts.map +1 -0
- package/onboarding-presets.shared.js +8 -0
- package/onboarding-presets.shared.js.map +1 -0
- package/package.json +173 -0
- package/restart.d.ts +27 -0
- package/restart.d.ts.map +1 -0
- package/restart.js +29 -0
- package/restart.js.map +1 -0
- package/runtime-env.d.ts +82 -0
- package/runtime-env.d.ts.map +1 -0
- package/runtime-env.js +243 -0
- package/runtime-env.js.map +1 -0
- package/settings-debug.d.ts +20 -0
- package/settings-debug.d.ts.map +1 -0
- package/settings-debug.js +117 -0
- package/settings-debug.js.map +1 -0
- package/spoken-text.d.ts +2 -0
- package/spoken-text.d.ts.map +1 -0
- package/spoken-text.js +57 -0
- package/spoken-text.js.map +1 -0
- package/themes/index.d.ts +7 -0
- package/themes/index.d.ts.map +1 -0
- package/themes/index.js +6 -0
- package/themes/index.js.map +1 -0
- package/themes/presets.d.ts +15 -0
- package/themes/presets.d.ts.map +1 -0
- package/themes/presets.js +789 -0
- package/themes/presets.js.map +1 -0
- package/types.d.ts +27 -0
- package/types.d.ts.map +1 -0
- package/types.js +2 -0
- package/types.js.map +1 -0
- package/validation-keywords.d.ts +2 -0
- package/validation-keywords.d.ts.map +1 -0
- package/validation-keywords.js +2 -0
- package/validation-keywords.js.map +1 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared wallet API contracts.
|
|
3
|
+
*/
|
|
4
|
+
export const WALLET_RPC_PROVIDER_OPTIONS = {
|
|
5
|
+
evm: [
|
|
6
|
+
{ id: "eliza-cloud", label: "Eliza Cloud" },
|
|
7
|
+
{ id: "alchemy", label: "Alchemy" },
|
|
8
|
+
{ id: "infura", label: "Infura" },
|
|
9
|
+
{ id: "ankr", label: "Ankr" },
|
|
10
|
+
],
|
|
11
|
+
bsc: [
|
|
12
|
+
{ id: "eliza-cloud", label: "Eliza Cloud" },
|
|
13
|
+
{ id: "alchemy", label: "Alchemy" },
|
|
14
|
+
{ id: "ankr", label: "Ankr" },
|
|
15
|
+
{ id: "nodereal", label: "NodeReal" },
|
|
16
|
+
{ id: "quicknode", label: "QuickNode" },
|
|
17
|
+
],
|
|
18
|
+
solana: [
|
|
19
|
+
{ id: "eliza-cloud", label: "Eliza Cloud" },
|
|
20
|
+
{ id: "helius-birdeye", label: "Helius + Birdeye" },
|
|
21
|
+
],
|
|
22
|
+
};
|
|
23
|
+
export const DEFAULT_WALLET_RPC_SELECTIONS = {
|
|
24
|
+
evm: "eliza-cloud",
|
|
25
|
+
bsc: "eliza-cloud",
|
|
26
|
+
solana: "eliza-cloud",
|
|
27
|
+
};
|
|
28
|
+
const WALLET_RPC_PROVIDER_ALIASES = {
|
|
29
|
+
elizacloud: "eliza-cloud",
|
|
30
|
+
helius: "helius-birdeye",
|
|
31
|
+
};
|
|
32
|
+
const WALLET_RPC_PROVIDER_IDS = {
|
|
33
|
+
evm: new Set(WALLET_RPC_PROVIDER_OPTIONS.evm.map((option) => option.id)),
|
|
34
|
+
bsc: new Set(WALLET_RPC_PROVIDER_OPTIONS.bsc.map((option) => option.id)),
|
|
35
|
+
solana: new Set(WALLET_RPC_PROVIDER_OPTIONS.solana.map((option) => option.id)),
|
|
36
|
+
};
|
|
37
|
+
export function normalizeWalletRpcProviderId(chain, value) {
|
|
38
|
+
if (typeof value !== "string")
|
|
39
|
+
return null;
|
|
40
|
+
const trimmed = value.trim().toLowerCase();
|
|
41
|
+
if (!trimmed)
|
|
42
|
+
return null;
|
|
43
|
+
const normalized = WALLET_RPC_PROVIDER_ALIASES[trimmed]
|
|
44
|
+
? WALLET_RPC_PROVIDER_ALIASES[trimmed]
|
|
45
|
+
: trimmed;
|
|
46
|
+
if (WALLET_RPC_PROVIDER_IDS[chain].has(normalized)) {
|
|
47
|
+
return normalized;
|
|
48
|
+
}
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
export function normalizeWalletRpcSelections(input) {
|
|
52
|
+
return {
|
|
53
|
+
evm: normalizeWalletRpcProviderId("evm", input?.evm) ??
|
|
54
|
+
DEFAULT_WALLET_RPC_SELECTIONS.evm,
|
|
55
|
+
bsc: normalizeWalletRpcProviderId("bsc", input?.bsc) ??
|
|
56
|
+
DEFAULT_WALLET_RPC_SELECTIONS.bsc,
|
|
57
|
+
solana: normalizeWalletRpcProviderId("solana", input?.solana) ??
|
|
58
|
+
DEFAULT_WALLET_RPC_SELECTIONS.solana,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=wallet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/contracts/wallet.ts"],"names":[],"mappings":"AAAA;;GAEG;AA6EH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,GAAG,EAAE;QACH,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;QAC3C,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;QACnC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;QACjC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;KAC9B;IACD,GAAG,EAAE;QACH,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;QAC3C,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;QACnC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;QAC7B,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;QACrC,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;KACxC;IACD,MAAM,EAAE;QACN,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;QAC3C,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE;KACpD;CACO,CAAC;AAgBX,MAAM,CAAC,MAAM,6BAA6B,GAAwB;IAChE,GAAG,EAAE,aAAa;IAClB,GAAG,EAAE,aAAa;IAClB,MAAM,EAAE,aAAa;CACtB,CAAC;AAEF,MAAM,2BAA2B,GAAG;IAClC,UAAU,EAAE,aAAa;IACzB,MAAM,EAAE,gBAAgB;CAChB,CAAC;AAEX,MAAM,uBAAuB,GAAG;IAC9B,GAAG,EAAE,IAAI,GAAG,CAAC,2BAA2B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxE,GAAG,EAAE,IAAI,GAAG,CAAC,2BAA2B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxE,MAAM,EAAE,IAAI,GAAG,CACb,2BAA2B,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAC9D;CACO,CAAC;AAEX,MAAM,UAAU,4BAA4B,CAC1C,KAAa,EACb,KAAgC;IAEhC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,UAAU,GAAG,2BAA2B,CAC5C,OAAmD,CACpD;QACC,CAAC,CAAC,2BAA2B,CACzB,OAAmD,CACpD;QACH,CAAC,CAAC,OAAO,CAAC;IACZ,IAAK,uBAAuB,CAAC,KAAK,CAAyB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5E,OAAO,UAAyC,CAAC;IACnD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,KAIa;IAEb,OAAO;QACL,GAAG,EACD,4BAA4B,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC;YAC/C,6BAA6B,CAAC,GAAG;QACnC,GAAG,EACD,4BAA4B,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC;YAC/C,6BAA6B,CAAC,GAAG;QACnC,MAAM,EACJ,4BAA4B,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC;YACrD,6BAA6B,CAAC,MAAM;KACvC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Optional ANSI styling for dev settings banners (orchestrator, Vite, API, Electrobun).
|
|
3
|
+
* Plain tables live in `dev-settings-table.ts`; this only wraps box lines for terminals.
|
|
4
|
+
* Figlet headings use a separate color; use `colorizeDevSettingsStartupBanner` when a
|
|
5
|
+
* heading is prepended above the framed table.
|
|
6
|
+
*/
|
|
7
|
+
/** Add cyan emphasis to Unicode box lines; no-op when not a TTY or when `NO_COLOR` is set. */
|
|
8
|
+
export declare function colorizeDevSettingsBanner(text: string): string;
|
|
9
|
+
/**
|
|
10
|
+
* Colorize a block that may start with a figlet heading, then a framed table (and optional
|
|
11
|
+
* plain footer after the box). Figlet lines are magenta; box lines stay cyan.
|
|
12
|
+
*/
|
|
13
|
+
export declare function colorizeDevSettingsStartupBanner(text: string): string;
|
|
14
|
+
//# sourceMappingURL=dev-settings-banner-style.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-settings-banner-style.d.ts","sourceRoot":"","sources":["../src/dev-settings-banner-style.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA4BH,8FAA8F;AAC9F,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG9D;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQrE"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Optional ANSI styling for dev settings banners (orchestrator, Vite, API, Electrobun).
|
|
3
|
+
* Plain tables live in `dev-settings-table.ts`; this only wraps box lines for terminals.
|
|
4
|
+
* Figlet headings use a separate color; use `colorizeDevSettingsStartupBanner` when a
|
|
5
|
+
* heading is prepended above the framed table.
|
|
6
|
+
*/
|
|
7
|
+
const RESET = "\x1b[0m";
|
|
8
|
+
const BOLD_CYAN = "\x1b[1;36m";
|
|
9
|
+
const DIM_CYAN = "\x1b[2;36m";
|
|
10
|
+
const BOLD_MAGENTA = "\x1b[1;35m";
|
|
11
|
+
function shouldSkipBannerColor() {
|
|
12
|
+
if (typeof process === "undefined" || !process.env)
|
|
13
|
+
return true;
|
|
14
|
+
if ("NO_COLOR" in process.env)
|
|
15
|
+
return true;
|
|
16
|
+
const fc = process.env.FORCE_COLOR;
|
|
17
|
+
if (fc === "0" || fc === "false")
|
|
18
|
+
return true;
|
|
19
|
+
if (fc === "1" || fc === "true")
|
|
20
|
+
return false;
|
|
21
|
+
if (typeof process.stdout?.isTTY === "boolean" && !process.stdout.isTTY)
|
|
22
|
+
return true;
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
function colorizeDevSettingsBannerLine(line) {
|
|
26
|
+
if (line.length === 0)
|
|
27
|
+
return line;
|
|
28
|
+
const c0 = line.codePointAt(0);
|
|
29
|
+
if (c0 === 0x256d /* ╭ */ || c0 === 0x2570 /* ╰ */)
|
|
30
|
+
return `${BOLD_CYAN}${line}${RESET}`;
|
|
31
|
+
if (c0 === 0x251c /* ├ */)
|
|
32
|
+
return `${DIM_CYAN}${line}${RESET}`;
|
|
33
|
+
if (c0 === 0x2502 /* │ */)
|
|
34
|
+
return `${DIM_CYAN}${line}${RESET}`;
|
|
35
|
+
return line;
|
|
36
|
+
}
|
|
37
|
+
/** Add cyan emphasis to Unicode box lines; no-op when not a TTY or when `NO_COLOR` is set. */
|
|
38
|
+
export function colorizeDevSettingsBanner(text) {
|
|
39
|
+
if (shouldSkipBannerColor())
|
|
40
|
+
return text;
|
|
41
|
+
return text.split("\n").map(colorizeDevSettingsBannerLine).join("\n");
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Colorize a block that may start with a figlet heading, then a framed table (and optional
|
|
45
|
+
* plain footer after the box). Figlet lines are magenta; box lines stay cyan.
|
|
46
|
+
*/
|
|
47
|
+
export function colorizeDevSettingsStartupBanner(text) {
|
|
48
|
+
if (shouldSkipBannerColor())
|
|
49
|
+
return text;
|
|
50
|
+
const idx = text.indexOf("╭");
|
|
51
|
+
if (idx === -1)
|
|
52
|
+
return colorizeDevSettingsBanner(text);
|
|
53
|
+
const head = text.slice(0, idx).replace(/\n+$/u, "");
|
|
54
|
+
const tail = text.slice(idx);
|
|
55
|
+
const coloredHead = head ? `${BOLD_MAGENTA}${head}${RESET}\n` : "";
|
|
56
|
+
return coloredHead + colorizeDevSettingsBanner(tail);
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=dev-settings-banner-style.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-settings-banner-style.js","sourceRoot":"","sources":["../src/dev-settings-banner-style.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,KAAK,GAAG,SAAS,CAAC;AACxB,MAAM,SAAS,GAAG,YAAY,CAAC;AAC/B,MAAM,QAAQ,GAAG,YAAY,CAAC;AAC9B,MAAM,YAAY,GAAG,YAAY,CAAC;AAElC,SAAS,qBAAqB;IAC5B,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAChE,IAAI,UAAU,IAAI,OAAO,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACnC,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IAC9C,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,OAAO,OAAO,CAAC,MAAM,EAAE,KAAK,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;QACrE,OAAO,IAAI,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,6BAA6B,CAAC,IAAY;IACjD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,EAAE,KAAK,MAAM,CAAC,OAAO,IAAI,EAAE,KAAK,MAAM,CAAC,OAAO;QAChD,OAAO,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC;IACvC,IAAI,EAAE,KAAK,MAAM,CAAC,OAAO;QAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC;IAC/D,IAAI,EAAE,KAAK,MAAM,CAAC,OAAO;QAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC;IAC/D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,yBAAyB,CAAC,IAAY;IACpD,IAAI,qBAAqB,EAAE;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gCAAgC,CAAC,IAAY;IAC3D,IAAI,qBAAqB,EAAE;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,OAAO,WAAW,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Large ASCII headings for dev startup banners.
|
|
3
|
+
*
|
|
4
|
+
* Why figlet: quick visual separation when four processes print similar tables
|
|
5
|
+
* in sequence — humans/agents spot which child is speaking without reading prefixes.
|
|
6
|
+
*/
|
|
7
|
+
/** Subsystem printed as giant ASCII above each dev settings table. */
|
|
8
|
+
export type DevSubsystemBannerKind = "orchestrator" | "vite" | "api" | "electrobun";
|
|
9
|
+
/**
|
|
10
|
+
* Renders a figlet block (Standard font, fits ~80 cols) for the given subsystem.
|
|
11
|
+
* On failure (missing font), falls back to a short plain marker.
|
|
12
|
+
*/
|
|
13
|
+
export declare function renderDevSubsystemFigletHeading(kind: DevSubsystemBannerKind, options?: {
|
|
14
|
+
maxWidth?: number;
|
|
15
|
+
font?: string;
|
|
16
|
+
}): string;
|
|
17
|
+
/** Figlet block, blank line, then the settings table (and any trailing footer). */
|
|
18
|
+
export declare function prependDevSubsystemFigletHeading(kind: DevSubsystemBannerKind, tableAndFooter: string, options?: {
|
|
19
|
+
maxWidth?: number;
|
|
20
|
+
font?: string;
|
|
21
|
+
}): string;
|
|
22
|
+
//# sourceMappingURL=dev-settings-figlet-heading.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-settings-figlet-heading.d.ts","sourceRoot":"","sources":["../src/dev-settings-figlet-heading.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA8BH,sEAAsE;AACtE,MAAM,MAAM,sBAAsB,GAC9B,cAAc,GACd,MAAM,GACN,KAAK,GACL,YAAY,CAAC;AASjB;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,sBAAsB,EAC5B,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7C,MAAM,CAkBR;AAED,mFAAmF;AACnF,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,sBAAsB,EAC5B,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7C,MAAM,CAGR"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Large ASCII headings for dev startup banners.
|
|
3
|
+
*
|
|
4
|
+
* Why figlet: quick visual separation when four processes print similar tables
|
|
5
|
+
* in sequence — humans/agents spot which child is speaking without reading prefixes.
|
|
6
|
+
*/
|
|
7
|
+
import { createRequire } from "node:module";
|
|
8
|
+
const require = createRequire(import.meta.url);
|
|
9
|
+
function loadFiglet() {
|
|
10
|
+
try {
|
|
11
|
+
return require("figlet");
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function renderFallbackHeading(text) {
|
|
18
|
+
const rule = "_".repeat(text.length + 2);
|
|
19
|
+
return [` ${rule} `, `| ${text} |`, `|${rule}|`].join("\n");
|
|
20
|
+
}
|
|
21
|
+
const SUBSYSTEM_FIGLET_TEXT = {
|
|
22
|
+
orchestrator: "ORCHESTRATOR",
|
|
23
|
+
vite: "VITE",
|
|
24
|
+
api: "API",
|
|
25
|
+
electrobun: "ELECTROBUN",
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Renders a figlet block (Standard font, fits ~80 cols) for the given subsystem.
|
|
29
|
+
* On failure (missing font), falls back to a short plain marker.
|
|
30
|
+
*/
|
|
31
|
+
export function renderDevSubsystemFigletHeading(kind, options) {
|
|
32
|
+
const maxWidth = options?.maxWidth ?? 80;
|
|
33
|
+
const font = options?.font ?? "Standard";
|
|
34
|
+
const text = SUBSYSTEM_FIGLET_TEXT[kind];
|
|
35
|
+
const figlet = loadFiglet();
|
|
36
|
+
if (!figlet) {
|
|
37
|
+
return renderFallbackHeading(text);
|
|
38
|
+
}
|
|
39
|
+
try {
|
|
40
|
+
const block = figlet.textSync(text, {
|
|
41
|
+
font,
|
|
42
|
+
width: maxWidth,
|
|
43
|
+
whitespaceBreak: true,
|
|
44
|
+
});
|
|
45
|
+
return block.replace(/\s+$/u, "");
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
return renderFallbackHeading(text);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/** Figlet block, blank line, then the settings table (and any trailing footer). */
|
|
52
|
+
export function prependDevSubsystemFigletHeading(kind, tableAndFooter, options) {
|
|
53
|
+
const head = renderDevSubsystemFigletHeading(kind, options);
|
|
54
|
+
return `${head}\n\n${tableAndFooter}`;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=dev-settings-figlet-heading.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-settings-figlet-heading.js","sourceRoot":"","sources":["../src/dev-settings-figlet-heading.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAa5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,QAAQ,CAAiB,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,OAAO,CAAC,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC;AASD,MAAM,qBAAqB,GAA2C;IACpE,YAAY,EAAE,cAAc;IAC5B,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,UAAU,EAAE,YAAY;CACzB,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,+BAA+B,CAC7C,IAA4B,EAC5B,OAA8C;IAE9C,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,UAAU,CAAC;IACzC,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE;YAClC,IAAI;YACJ,KAAK,EAAE,QAAQ;YACf,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,gCAAgC,CAC9C,IAA4B,EAC5B,cAAsB,EACtB,OAA8C;IAE9C,MAAM,IAAI,GAAG,+BAA+B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5D,OAAO,GAAG,IAAI,OAAO,cAAc,EAAE,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plain-text tables for dev startup banners (orchestrator, Vite, API, Electrobun).
|
|
3
|
+
* Narrow layout uses Unicode box drawing (no ANSI here). Use `dev-settings-banner-style`
|
|
4
|
+
* when printing to a TTY for cyan emphasis.
|
|
5
|
+
*
|
|
6
|
+
* Why: Multi-process desktop dev prints four overlapping env snapshots; a framed
|
|
7
|
+
* table makes effective ports and sources scannable in the terminal (developer
|
|
8
|
+
* observability, not end-user product UI).
|
|
9
|
+
*/
|
|
10
|
+
export type DevSettingsRow = {
|
|
11
|
+
setting: string;
|
|
12
|
+
effective: string;
|
|
13
|
+
source: string;
|
|
14
|
+
change: string;
|
|
15
|
+
};
|
|
16
|
+
declare const DEFAULT_CAPS: {
|
|
17
|
+
readonly setting: 44;
|
|
18
|
+
readonly effective: 16;
|
|
19
|
+
readonly source: 52;
|
|
20
|
+
readonly change: 64;
|
|
21
|
+
};
|
|
22
|
+
export type DevSettingsTableOptions = {
|
|
23
|
+
caps?: Partial<typeof DEFAULT_CAPS>;
|
|
24
|
+
/** Multiline ~80 cols by default; set `wide` for legacy single-line table. */
|
|
25
|
+
layout?: "wide" | "narrow";
|
|
26
|
+
/** Max line length for `layout: "narrow"` (default 80). */
|
|
27
|
+
narrowWidth?: number;
|
|
28
|
+
/**
|
|
29
|
+
* When `layout` is `narrow`, draw a Unicode frame (default true).
|
|
30
|
+
* Set false for plain `=== title ===` blocks (e.g. tests or log capture).
|
|
31
|
+
*/
|
|
32
|
+
narrowFrame?: boolean;
|
|
33
|
+
};
|
|
34
|
+
/** Word-wrap to at most `width` columns; breaks on spaces, then hard-breaks long tokens. */
|
|
35
|
+
export declare function wrapToWidth(text: string, width: number): string[];
|
|
36
|
+
/**
|
|
37
|
+
* Multiline block per row; each output line ≤ outerWidth (default 80).
|
|
38
|
+
* When `frame` is true, draws a light Unicode border; inner text wraps to fit.
|
|
39
|
+
*/
|
|
40
|
+
export declare function formatDevSettingsTableNarrow(title: string, rows: DevSettingsRow[], outerWidth?: number, frame?: boolean): string;
|
|
41
|
+
/**
|
|
42
|
+
* Format a titled dev settings banner. Default is multiline (~80 cols); pass
|
|
43
|
+
* `layout: "wide"` for the legacy four-column table with Setting/Effective/Source/Change header.
|
|
44
|
+
*/
|
|
45
|
+
export declare function formatDevSettingsTable(title: string, rows: DevSettingsRow[], options?: DevSettingsTableOptions): string;
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=dev-settings-table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-settings-table.d.ts","sourceRoot":"","sources":["../src/dev-settings-table.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,QAAA,MAAM,YAAY;;;;;CAKR,CAAC;AAEX,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,YAAY,CAAC,CAAC;IACpC,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC3B,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAQF,4FAA4F;AAC5F,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBjE;AA+ED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,cAAc,EAAE,EACtB,UAAU,SAAK,EACf,KAAK,UAAO,GACX,MAAM,CA2BR;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,cAAc,EAAE,EACtB,OAAO,CAAC,EAAE,uBAAuB,GAChC,MAAM,CA+CR"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plain-text tables for dev startup banners (orchestrator, Vite, API, Electrobun).
|
|
3
|
+
* Narrow layout uses Unicode box drawing (no ANSI here). Use `dev-settings-banner-style`
|
|
4
|
+
* when printing to a TTY for cyan emphasis.
|
|
5
|
+
*
|
|
6
|
+
* Why: Multi-process desktop dev prints four overlapping env snapshots; a framed
|
|
7
|
+
* table makes effective ports and sources scannable in the terminal (developer
|
|
8
|
+
* observability, not end-user product UI).
|
|
9
|
+
*/
|
|
10
|
+
const DEFAULT_CAPS = {
|
|
11
|
+
setting: 44,
|
|
12
|
+
effective: 16,
|
|
13
|
+
source: 52,
|
|
14
|
+
change: 64,
|
|
15
|
+
};
|
|
16
|
+
function truncateCell(value, maxWidth) {
|
|
17
|
+
if (value.length <= maxWidth)
|
|
18
|
+
return value;
|
|
19
|
+
if (maxWidth < 2)
|
|
20
|
+
return value.slice(0, maxWidth);
|
|
21
|
+
return `${value.slice(0, maxWidth - 1)}…`;
|
|
22
|
+
}
|
|
23
|
+
/** Word-wrap to at most `width` columns; breaks on spaces, then hard-breaks long tokens. */
|
|
24
|
+
export function wrapToWidth(text, width) {
|
|
25
|
+
if (width < 1)
|
|
26
|
+
return [text];
|
|
27
|
+
const normalized = text.replace(/\s+/g, " ").trim();
|
|
28
|
+
if (!normalized)
|
|
29
|
+
return [""];
|
|
30
|
+
const lines = [];
|
|
31
|
+
let remaining = normalized;
|
|
32
|
+
while (remaining.length > 0) {
|
|
33
|
+
if (remaining.length <= width) {
|
|
34
|
+
lines.push(remaining);
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
let breakAt = remaining.lastIndexOf(" ", width);
|
|
38
|
+
if (breakAt <= 0)
|
|
39
|
+
breakAt = width;
|
|
40
|
+
const chunk = remaining.slice(0, breakAt).trimEnd();
|
|
41
|
+
lines.push(chunk.length > 0 ? chunk : remaining.slice(0, width));
|
|
42
|
+
remaining = remaining.slice(breakAt === width ? width : breakAt).trimStart();
|
|
43
|
+
}
|
|
44
|
+
return lines;
|
|
45
|
+
}
|
|
46
|
+
function emitLabeledLines(label, value, maxWidth) {
|
|
47
|
+
const prefix = ` ${label}: `;
|
|
48
|
+
const budget = maxWidth - prefix.length;
|
|
49
|
+
if (budget < 12) {
|
|
50
|
+
return [
|
|
51
|
+
` ${label}:`,
|
|
52
|
+
...wrapToWidth(value, Math.max(8, maxWidth - 2)).map((l) => ` ${l}`),
|
|
53
|
+
];
|
|
54
|
+
}
|
|
55
|
+
const wrapped = wrapToWidth(value, budget);
|
|
56
|
+
const out = [`${prefix}${wrapped[0] ?? ""}`];
|
|
57
|
+
const pad = " ".repeat(prefix.length);
|
|
58
|
+
for (let j = 1; j < wrapped.length; j++)
|
|
59
|
+
out.push(`${pad}${wrapped[j]}`);
|
|
60
|
+
return out;
|
|
61
|
+
}
|
|
62
|
+
function boxTopRule(title, outer) {
|
|
63
|
+
const inner = outer - 2;
|
|
64
|
+
if (inner < 4)
|
|
65
|
+
return title.slice(0, Math.max(0, outer));
|
|
66
|
+
const maxTitle = Math.max(1, inner - 4);
|
|
67
|
+
let t = title;
|
|
68
|
+
if (t.length > maxTitle)
|
|
69
|
+
t = `${t.slice(0, Math.max(1, maxTitle - 1))}…`;
|
|
70
|
+
const padDash = inner - 2 - t.length;
|
|
71
|
+
const left = Math.max(0, Math.floor(padDash / 2));
|
|
72
|
+
const right = Math.max(0, padDash - left);
|
|
73
|
+
return `╭${"─".repeat(left)} ${t} ${"─".repeat(right)}╮`;
|
|
74
|
+
}
|
|
75
|
+
function boxMidRule(outer) {
|
|
76
|
+
const inner = outer - 2;
|
|
77
|
+
return `├${"─".repeat(inner)}┤`;
|
|
78
|
+
}
|
|
79
|
+
function boxBottomRule(outer) {
|
|
80
|
+
const inner = outer - 2;
|
|
81
|
+
return `╰${"─".repeat(inner)}╯`;
|
|
82
|
+
}
|
|
83
|
+
function boxEmptyRow(outer) {
|
|
84
|
+
const inner = outer - 2;
|
|
85
|
+
return `│${" ".repeat(inner)}│`;
|
|
86
|
+
}
|
|
87
|
+
function boxRow(line, outer) {
|
|
88
|
+
const inner = outer - 2;
|
|
89
|
+
const maxMid = Math.max(0, inner - 4);
|
|
90
|
+
const vis = line.length > maxMid
|
|
91
|
+
? `${line.slice(0, Math.max(0, maxMid - 1))}…`
|
|
92
|
+
: line;
|
|
93
|
+
const pad = maxMid - vis.length;
|
|
94
|
+
return `│ ${vis}${" ".repeat(pad)} │`;
|
|
95
|
+
}
|
|
96
|
+
function formatDevSettingsTableNarrowUnframed(title, rows, maxWidth) {
|
|
97
|
+
const sep = "—".repeat(Math.min(maxWidth, 40));
|
|
98
|
+
const lines = [`=== ${title} ===`, ""];
|
|
99
|
+
for (let i = 0; i < rows.length; i++) {
|
|
100
|
+
const r = rows[i];
|
|
101
|
+
lines.push(...wrapToWidth(r.setting, maxWidth));
|
|
102
|
+
lines.push(...emitLabeledLines("Effective", r.effective, maxWidth));
|
|
103
|
+
lines.push(...emitLabeledLines("Source", r.source, maxWidth));
|
|
104
|
+
lines.push(...emitLabeledLines("Change", r.change, maxWidth));
|
|
105
|
+
if (i < rows.length - 1)
|
|
106
|
+
lines.push("", sep, "");
|
|
107
|
+
else
|
|
108
|
+
lines.push("");
|
|
109
|
+
}
|
|
110
|
+
return `${lines.join("\n")}\n`;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Multiline block per row; each output line ≤ outerWidth (default 80).
|
|
114
|
+
* When `frame` is true, draws a light Unicode border; inner text wraps to fit.
|
|
115
|
+
*/
|
|
116
|
+
export function formatDevSettingsTableNarrow(title, rows, outerWidth = 80, frame = true) {
|
|
117
|
+
if (!frame) {
|
|
118
|
+
return formatDevSettingsTableNarrowUnframed(title, rows, outerWidth);
|
|
119
|
+
}
|
|
120
|
+
const outer = Math.max(24, outerWidth);
|
|
121
|
+
const inner = outer - 2;
|
|
122
|
+
const contentW = Math.max(8, inner - 4);
|
|
123
|
+
const lines = [];
|
|
124
|
+
lines.push(boxTopRule(title, outer));
|
|
125
|
+
lines.push(boxEmptyRow(outer));
|
|
126
|
+
for (let i = 0; i < rows.length; i++) {
|
|
127
|
+
const r = rows[i];
|
|
128
|
+
const block = [];
|
|
129
|
+
block.push(...wrapToWidth(r.setting, contentW));
|
|
130
|
+
block.push(...emitLabeledLines("Effective", r.effective, contentW));
|
|
131
|
+
block.push(...emitLabeledLines("Source", r.source, contentW));
|
|
132
|
+
block.push(...emitLabeledLines("Change", r.change, contentW));
|
|
133
|
+
for (const ln of block)
|
|
134
|
+
lines.push(boxRow(ln, outer));
|
|
135
|
+
if (i < rows.length - 1) {
|
|
136
|
+
lines.push(boxEmptyRow(outer));
|
|
137
|
+
lines.push(boxMidRule(outer));
|
|
138
|
+
lines.push(boxEmptyRow(outer));
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
lines.push(boxEmptyRow(outer));
|
|
142
|
+
lines.push(boxBottomRule(outer));
|
|
143
|
+
return `${lines.join("\n")}\n`;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Format a titled dev settings banner. Default is multiline (~80 cols); pass
|
|
147
|
+
* `layout: "wide"` for the legacy four-column table with Setting/Effective/Source/Change header.
|
|
148
|
+
*/
|
|
149
|
+
export function formatDevSettingsTable(title, rows, options) {
|
|
150
|
+
const layout = options?.layout ?? "narrow";
|
|
151
|
+
if (layout === "narrow") {
|
|
152
|
+
return formatDevSettingsTableNarrow(title, rows, options?.narrowWidth ?? 80, options?.narrowFrame !== false);
|
|
153
|
+
}
|
|
154
|
+
const caps = { ...DEFAULT_CAPS, ...options?.caps };
|
|
155
|
+
const header = {
|
|
156
|
+
setting: "Setting",
|
|
157
|
+
effective: "Effective",
|
|
158
|
+
source: "Source",
|
|
159
|
+
change: "Change",
|
|
160
|
+
};
|
|
161
|
+
let w0 = header.setting.length;
|
|
162
|
+
let w1 = header.effective.length;
|
|
163
|
+
let w2 = header.source.length;
|
|
164
|
+
let w3 = header.change.length;
|
|
165
|
+
for (const r of rows) {
|
|
166
|
+
w0 = Math.max(w0, r.setting.length);
|
|
167
|
+
w1 = Math.max(w1, r.effective.length);
|
|
168
|
+
w2 = Math.max(w2, r.source.length);
|
|
169
|
+
w3 = Math.max(w3, r.change.length);
|
|
170
|
+
}
|
|
171
|
+
w0 = Math.min(caps.setting, w0);
|
|
172
|
+
w1 = Math.min(caps.effective, w1);
|
|
173
|
+
w2 = Math.min(caps.source, w2);
|
|
174
|
+
w3 = Math.min(caps.change, w3);
|
|
175
|
+
const fmt = (r) => [
|
|
176
|
+
truncateCell(r.setting, w0).padEnd(w0),
|
|
177
|
+
truncateCell(r.effective, w1).padEnd(w1),
|
|
178
|
+
truncateCell(r.source, w2).padEnd(w2),
|
|
179
|
+
truncateCell(r.change, w3),
|
|
180
|
+
].join(" ");
|
|
181
|
+
const lines = [
|
|
182
|
+
`=== ${title} ===`,
|
|
183
|
+
fmt(header),
|
|
184
|
+
"-".repeat(w0 + w1 + w2 + w3 + 6),
|
|
185
|
+
...rows.map(fmt),
|
|
186
|
+
];
|
|
187
|
+
return `${lines.join("\n")}\n`;
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=dev-settings-table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-settings-table.js","sourceRoot":"","sources":["../src/dev-settings-table.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,MAAM,YAAY,GAAG;IACnB,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;CACF,CAAC;AAeX,SAAS,YAAY,CAAC,KAAa,EAAE,QAAgB;IACnD,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAClD,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC;AAC5C,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,KAAa;IACrD,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,IAAI,CAAC,UAAU;QAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,SAAS,GAAG,UAAU,CAAC;IAC3B,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAI,SAAS,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,MAAM;QACR,CAAC;QACD,IAAI,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAChD,IAAI,OAAO,IAAI,CAAC;YAAE,OAAO,GAAG,KAAK,CAAC;QAClC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACjE,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;IAC/E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAa,EACb,KAAa,EACb,QAAgB;IAEhB,MAAM,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC;IAC9B,MAAM,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,IAAI,MAAM,GAAG,EAAE,EAAE,CAAC;QAChB,OAAO;YACL,KAAK,KAAK,GAAG;YACb,GAAG,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;SACxE,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAa,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACzE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,KAAa;IAC9C,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;IACxB,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACxC,IAAI,CAAC,GAAG,KAAK,CAAC;IACd,IAAI,CAAC,CAAC,MAAM,GAAG,QAAQ;QAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACzE,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC;IAC1C,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;AAC3D,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;IACxB,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;AAClC,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;IACxB,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;AAClC,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;IACxB,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;AAClC,CAAC;AAED,SAAS,MAAM,CAAC,IAAY,EAAE,KAAa;IACzC,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;IACxB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACtC,MAAM,GAAG,GACP,IAAI,CAAC,MAAM,GAAG,MAAM;QAClB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG;QAC9C,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,GAAG,GAAG,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAChC,OAAO,KAAK,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;AACxC,CAAC;AAED,SAAS,oCAAoC,CAC3C,KAAa,EACb,IAAsB,EACtB,QAAgB;IAEhB,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAa,CAAC,OAAO,KAAK,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC9D,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;;YAC5C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAC1C,KAAa,EACb,IAAsB,EACtB,UAAU,GAAG,EAAE,EACf,KAAK,GAAG,IAAI;IAEZ,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,oCAAoC,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;IACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACxC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC9D,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC9D,KAAK,MAAM,EAAE,IAAI,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACjC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAa,EACb,IAAsB,EACtB,OAAiC;IAEjC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,QAAQ,CAAC;IAC3C,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,4BAA4B,CACjC,KAAK,EACL,IAAI,EACJ,OAAO,EAAE,WAAW,IAAI,EAAE,EAC1B,OAAO,EAAE,WAAW,KAAK,KAAK,CAC/B,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC;IACnD,MAAM,MAAM,GAAmB;QAC7B,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,WAAW;QACtB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,QAAQ;KACjB,CAAC;IACF,IAAI,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IACD,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAChC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAClC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/B,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAE/B,MAAM,GAAG,GAAG,CAAC,CAAiB,EAAE,EAAE,CAChC;QACE,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACrC,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;KAC3B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEf,MAAM,KAAK,GAAG;QACZ,OAAO,KAAK,MAAM;QAClB,GAAG,CAAC,MAAM,CAAC;QACX,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACjC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;KACjB,CAAC;IACF,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { type IAgentRuntime, type Memory, type Role, type UUID, type World } from "@elizaos/core";
|
|
2
|
+
export type RoleName = "OWNER" | "ADMIN" | "USER" | "GUEST";
|
|
3
|
+
export type RoleGrantSource = "owner" | "manual" | "connector_admin";
|
|
4
|
+
export declare const ROLE_RANK: Record<RoleName, number>;
|
|
5
|
+
export type RolesWorldMetadata = {
|
|
6
|
+
ownership?: {
|
|
7
|
+
ownerId?: string;
|
|
8
|
+
};
|
|
9
|
+
roles?: Record<string, RoleName>;
|
|
10
|
+
roleSources?: Record<string, RoleGrantSource>;
|
|
11
|
+
};
|
|
12
|
+
export type ConnectorAdminWhitelist = Record<string, string[]>;
|
|
13
|
+
export type RolesConfig = {
|
|
14
|
+
connectorAdmins?: ConnectorAdminWhitelist;
|
|
15
|
+
};
|
|
16
|
+
export type RoleCheckResult = {
|
|
17
|
+
entityId: UUID;
|
|
18
|
+
role: RoleName;
|
|
19
|
+
isOwner: boolean;
|
|
20
|
+
isAdmin: boolean;
|
|
21
|
+
canManageRoles: boolean;
|
|
22
|
+
};
|
|
23
|
+
export interface ServerOwnershipState {
|
|
24
|
+
servers: {
|
|
25
|
+
[serverId: string]: World;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
declare const CONNECTOR_ID_FIELDS: readonly ["userId", "id", "username", "userName"];
|
|
29
|
+
type ConnectorIdField = (typeof CONNECTOR_ID_FIELDS)[number];
|
|
30
|
+
type ConnectorAdminMatch = {
|
|
31
|
+
connector: string;
|
|
32
|
+
matchedValue: string;
|
|
33
|
+
matchedField: ConnectorIdField;
|
|
34
|
+
};
|
|
35
|
+
type ResolveEntityRoleOptions = {
|
|
36
|
+
liveEntityMetadata?: Record<string, unknown> | null;
|
|
37
|
+
liveEntityId?: string;
|
|
38
|
+
};
|
|
39
|
+
export declare function getUserServerRole(runtime: IAgentRuntime, entityId: string, serverId: string): Promise<Role>;
|
|
40
|
+
export declare function findWorldsForOwner(runtime: IAgentRuntime, entityId: string): Promise<World[] | null>;
|
|
41
|
+
export declare function getConfiguredOwnerEntityIds(runtime: IAgentRuntime): string[];
|
|
42
|
+
export declare function hasConfiguredCanonicalOwner(runtime: IAgentRuntime): boolean;
|
|
43
|
+
export declare function resolveCanonicalOwnerId(runtime: IAgentRuntime, metadata?: RolesWorldMetadata): string | null;
|
|
44
|
+
export declare function setConnectorAdminWhitelist(runtime: IAgentRuntime, whitelist: ConnectorAdminWhitelist | Record<string, unknown> | undefined): void;
|
|
45
|
+
export declare function getConnectorAdminWhitelist(runtime: IAgentRuntime): ConnectorAdminWhitelist;
|
|
46
|
+
export declare function matchEntityToConnectorAdminWhitelist(entityMetadata: Record<string, unknown> | null | undefined, whitelist: ConnectorAdminWhitelist | Record<string, unknown> | undefined): ConnectorAdminMatch | null;
|
|
47
|
+
export declare function normalizeRole(raw: string | undefined | null): RoleName;
|
|
48
|
+
export declare function getEntityRole(metadata: RolesWorldMetadata | undefined, entityId: string): RoleName;
|
|
49
|
+
export declare function getLiveEntityMetadataFromMessage(message: Memory): Record<string, unknown> | undefined;
|
|
50
|
+
export declare function resolveEntityRole(runtime: IAgentRuntime, _world: Awaited<ReturnType<IAgentRuntime["getWorld"]>>, metadata: RolesWorldMetadata | undefined, entityId: string, options?: ResolveEntityRoleOptions): Promise<RoleName>;
|
|
51
|
+
export declare function checkSenderPrivateAccess(runtime: IAgentRuntime, message: Memory): Promise<{
|
|
52
|
+
entityId: UUID;
|
|
53
|
+
role: RoleName;
|
|
54
|
+
isOwner: boolean;
|
|
55
|
+
isAdmin: boolean;
|
|
56
|
+
canManageRoles: boolean;
|
|
57
|
+
hasPrivateAccess: boolean;
|
|
58
|
+
accessRole: RoleName | null;
|
|
59
|
+
accessSource: "owner" | "manual" | "linked_manual" | null;
|
|
60
|
+
} | null>;
|
|
61
|
+
export declare function canModifyRole(actorRole: RoleName, targetCurrentRole: RoleName, newRole: RoleName): boolean;
|
|
62
|
+
export declare function resolveWorldForMessage(runtime: IAgentRuntime, message: Memory): Promise<{
|
|
63
|
+
world: Awaited<ReturnType<IAgentRuntime["getWorld"]>>;
|
|
64
|
+
metadata: RolesWorldMetadata;
|
|
65
|
+
} | null>;
|
|
66
|
+
export declare function resolveCanonicalOwnerIdForMessage(runtime: IAgentRuntime, message: Memory): Promise<string | null>;
|
|
67
|
+
export declare function checkSenderRole(runtime: IAgentRuntime, message: Memory): Promise<RoleCheckResult | null>;
|
|
68
|
+
export declare function setEntityRole(runtime: IAgentRuntime, message: Memory, targetEntityId: string, newRole: RoleName, source?: RoleGrantSource): Promise<Record<string, RoleName>>;
|
|
69
|
+
export {};
|
|
70
|
+
//# sourceMappingURL=eliza-core-roles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eliza-core-roles.d.ts","sourceRoot":"","sources":["../src/eliza-core-roles.ts"],"names":[],"mappings":"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"}
|