@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.
Files changed (186) hide show
  1. package/LICENSE +21 -0
  2. package/awareness/index.d.ts +2 -0
  3. package/awareness/index.d.ts.map +1 -0
  4. package/awareness/index.js +2 -0
  5. package/awareness/index.js.map +1 -0
  6. package/awareness/registry.d.ts +27 -0
  7. package/awareness/registry.d.ts.map +1 -0
  8. package/awareness/registry.js +162 -0
  9. package/awareness/registry.js.map +1 -0
  10. package/config/types.agent-defaults.d.ts +333 -0
  11. package/config/types.agent-defaults.d.ts.map +1 -0
  12. package/config/types.agent-defaults.js +2 -0
  13. package/config/types.agent-defaults.js.map +1 -0
  14. package/config/types.agents.d.ts +112 -0
  15. package/config/types.agents.d.ts.map +1 -0
  16. package/config/types.agents.js +2 -0
  17. package/config/types.agents.js.map +1 -0
  18. package/config/types.d.ts +8 -0
  19. package/config/types.d.ts.map +1 -0
  20. package/config/types.eliza.d.ts +648 -0
  21. package/config/types.eliza.d.ts.map +1 -0
  22. package/config/types.eliza.js +2 -0
  23. package/config/types.eliza.js.map +1 -0
  24. package/config/types.gateway.d.ts +216 -0
  25. package/config/types.gateway.d.ts.map +1 -0
  26. package/config/types.gateway.js +2 -0
  27. package/config/types.gateway.js.map +1 -0
  28. package/config/types.hooks.d.ts +107 -0
  29. package/config/types.hooks.d.ts.map +1 -0
  30. package/config/types.hooks.js +2 -0
  31. package/config/types.hooks.js.map +1 -0
  32. package/config/types.js +8 -0
  33. package/config/types.js.map +1 -0
  34. package/config/types.messages.d.ts +176 -0
  35. package/config/types.messages.d.ts.map +1 -0
  36. package/config/types.messages.js +2 -0
  37. package/config/types.messages.js.map +1 -0
  38. package/config/types.tools.d.ts +400 -0
  39. package/config/types.tools.d.ts.map +1 -0
  40. package/config/types.tools.js +2 -0
  41. package/config/types.tools.js.map +1 -0
  42. package/connectors.d.ts +13 -0
  43. package/connectors.d.ts.map +1 -0
  44. package/connectors.js +92 -0
  45. package/connectors.js.map +1 -0
  46. package/contracts/apps.d.ts +204 -0
  47. package/contracts/apps.d.ts.map +1 -0
  48. package/contracts/apps.js +189 -0
  49. package/contracts/apps.js.map +1 -0
  50. package/contracts/awareness.d.ts +38 -0
  51. package/contracts/awareness.d.ts.map +1 -0
  52. package/contracts/awareness.js +8 -0
  53. package/contracts/awareness.js.map +1 -0
  54. package/contracts/cloud-topology.d.ts +13 -0
  55. package/contracts/cloud-topology.d.ts.map +1 -0
  56. package/contracts/cloud-topology.js +74 -0
  57. package/contracts/cloud-topology.js.map +1 -0
  58. package/contracts/config.d.ts +146 -0
  59. package/contracts/config.d.ts.map +1 -0
  60. package/contracts/config.js +5 -0
  61. package/contracts/config.js.map +1 -0
  62. package/contracts/content-pack.d.ts +131 -0
  63. package/contracts/content-pack.d.ts.map +1 -0
  64. package/contracts/content-pack.js +103 -0
  65. package/contracts/content-pack.js.map +1 -0
  66. package/contracts/drop.d.ts +20 -0
  67. package/contracts/drop.d.ts.map +1 -0
  68. package/contracts/drop.js +5 -0
  69. package/contracts/drop.js.map +1 -0
  70. package/contracts/index.d.ts +13 -0
  71. package/contracts/index.d.ts.map +1 -0
  72. package/contracts/index.js +13 -0
  73. package/contracts/index.js.map +1 -0
  74. package/contracts/lifeops.d.ts +1337 -0
  75. package/contracts/lifeops.d.ts.map +1 -0
  76. package/contracts/lifeops.js +279 -0
  77. package/contracts/lifeops.js.map +1 -0
  78. package/contracts/onboarding.d.ts +443 -0
  79. package/contracts/onboarding.d.ts.map +1 -0
  80. package/contracts/onboarding.js +1021 -0
  81. package/contracts/onboarding.js.map +1 -0
  82. package/contracts/permissions.d.ts +38 -0
  83. package/contracts/permissions.d.ts.map +1 -0
  84. package/contracts/permissions.js +5 -0
  85. package/contracts/permissions.js.map +1 -0
  86. package/contracts/service-routing.d.ts +77 -0
  87. package/contracts/service-routing.d.ts.map +1 -0
  88. package/contracts/service-routing.js +228 -0
  89. package/contracts/service-routing.js.map +1 -0
  90. package/contracts/theme.d.ts +136 -0
  91. package/contracts/theme.d.ts.map +1 -0
  92. package/contracts/theme.js +134 -0
  93. package/contracts/theme.js.map +1 -0
  94. package/contracts/verification.d.ts +9 -0
  95. package/contracts/verification.d.ts.map +1 -0
  96. package/contracts/verification.js +5 -0
  97. package/contracts/verification.js.map +1 -0
  98. package/contracts/wallet.d.ts +626 -0
  99. package/contracts/wallet.d.ts.map +1 -0
  100. package/contracts/wallet.js +61 -0
  101. package/contracts/wallet.js.map +1 -0
  102. package/dev-settings-banner-style.d.ts +14 -0
  103. package/dev-settings-banner-style.d.ts.map +1 -0
  104. package/dev-settings-banner-style.js +58 -0
  105. package/dev-settings-banner-style.js.map +1 -0
  106. package/dev-settings-figlet-heading.d.ts +22 -0
  107. package/dev-settings-figlet-heading.d.ts.map +1 -0
  108. package/dev-settings-figlet-heading.js +56 -0
  109. package/dev-settings-figlet-heading.js.map +1 -0
  110. package/dev-settings-table.d.ts +47 -0
  111. package/dev-settings-table.d.ts.map +1 -0
  112. package/dev-settings-table.js +189 -0
  113. package/dev-settings-table.js.map +1 -0
  114. package/eliza-core-roles.d.ts +70 -0
  115. package/eliza-core-roles.d.ts.map +1 -0
  116. package/eliza-core-roles.js +546 -0
  117. package/eliza-core-roles.js.map +1 -0
  118. package/env-utils.d.ts +5 -0
  119. package/env-utils.d.ts.map +1 -0
  120. package/env-utils.impl.d.ts +2 -0
  121. package/env-utils.impl.d.ts.map +1 -0
  122. package/env-utils.impl.js +17 -0
  123. package/env-utils.impl.js.map +1 -0
  124. package/env-utils.js +5 -0
  125. package/env-utils.js.map +1 -0
  126. package/i18n/generated/validation-keyword-data.d.ts +1030 -0
  127. package/i18n/generated/validation-keyword-data.d.ts.map +1 -0
  128. package/i18n/generated/validation-keyword-data.js +1034 -0
  129. package/i18n/generated/validation-keyword-data.js.map +1 -0
  130. package/i18n/keyword-matching.d.ts +23 -0
  131. package/i18n/keyword-matching.d.ts.map +1 -0
  132. package/i18n/keyword-matching.js +113 -0
  133. package/i18n/keyword-matching.js.map +1 -0
  134. package/i18n/validation-keywords.d.ts +13 -0
  135. package/i18n/validation-keywords.d.ts.map +1 -0
  136. package/i18n/validation-keywords.js +13 -0
  137. package/i18n/validation-keywords.js.map +1 -0
  138. package/index.d.ts +13 -0
  139. package/index.d.ts.map +1 -0
  140. package/index.js +13 -0
  141. package/index.js.map +1 -0
  142. package/onboarding-presets.characters.d.ts +22 -0
  143. package/onboarding-presets.characters.d.ts.map +1 -0
  144. package/onboarding-presets.characters.js +2607 -0
  145. package/onboarding-presets.characters.js.map +1 -0
  146. package/onboarding-presets.d.ts +40 -0
  147. package/onboarding-presets.d.ts.map +1 -0
  148. package/onboarding-presets.js +177 -0
  149. package/onboarding-presets.js.map +1 -0
  150. package/onboarding-presets.shared.d.ts +2 -0
  151. package/onboarding-presets.shared.d.ts.map +1 -0
  152. package/onboarding-presets.shared.js +8 -0
  153. package/onboarding-presets.shared.js.map +1 -0
  154. package/package.json +173 -0
  155. package/restart.d.ts +27 -0
  156. package/restart.d.ts.map +1 -0
  157. package/restart.js +29 -0
  158. package/restart.js.map +1 -0
  159. package/runtime-env.d.ts +82 -0
  160. package/runtime-env.d.ts.map +1 -0
  161. package/runtime-env.js +243 -0
  162. package/runtime-env.js.map +1 -0
  163. package/settings-debug.d.ts +20 -0
  164. package/settings-debug.d.ts.map +1 -0
  165. package/settings-debug.js +117 -0
  166. package/settings-debug.js.map +1 -0
  167. package/spoken-text.d.ts +2 -0
  168. package/spoken-text.d.ts.map +1 -0
  169. package/spoken-text.js +57 -0
  170. package/spoken-text.js.map +1 -0
  171. package/themes/index.d.ts +7 -0
  172. package/themes/index.d.ts.map +1 -0
  173. package/themes/index.js +6 -0
  174. package/themes/index.js.map +1 -0
  175. package/themes/presets.d.ts +15 -0
  176. package/themes/presets.d.ts.map +1 -0
  177. package/themes/presets.js +789 -0
  178. package/themes/presets.js.map +1 -0
  179. package/types.d.ts +27 -0
  180. package/types.d.ts.map +1 -0
  181. package/types.js +2 -0
  182. package/types.js.map +1 -0
  183. package/validation-keywords.d.ts +2 -0
  184. package/validation-keywords.d.ts.map +1 -0
  185. package/validation-keywords.js +2 -0
  186. package/validation-keywords.js.map +1 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Shaw Walters and elizaOS Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,2 @@
1
+ export * from "./registry.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/awareness/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./registry.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/awareness/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * AwarenessRegistry — core orchestration layer for the Self-Awareness System.
3
+ *
4
+ * Manages contributor registration, summary composition (Layer 1),
5
+ * detail retrieval (Layer 2), caching, sanitization, and invalidation.
6
+ *
7
+ * @architecture All public methods are fault-tolerant: individual contributor
8
+ * errors are captured and surfaced as `[{id}: unavailable]` markers — the
9
+ * registry itself NEVER throws from composeSummary / getDetail.
10
+ */
11
+ import type { IAgentRuntime } from "@elizaos/core";
12
+ import { type AwarenessContributor, type AwarenessInvalidationEvent } from "../contracts/awareness.js";
13
+ export declare function setGlobalAwarenessRegistry(registry: AwarenessRegistry): void;
14
+ export declare function getGlobalAwarenessRegistry(): AwarenessRegistry | null;
15
+ export declare class AwarenessRegistry {
16
+ private readonly contributors;
17
+ private readonly contributorIds;
18
+ private readonly cache;
19
+ register(contributor: AwarenessContributor): void;
20
+ composeSummary(runtime: IAgentRuntime): Promise<string>;
21
+ getDetail(runtime: IAgentRuntime, module: string, level: "brief" | "full"): Promise<string>;
22
+ invalidate(event: AwarenessInvalidationEvent): void;
23
+ private getCachedSummary;
24
+ private applyGlobalBudget;
25
+ private composeAllDetails;
26
+ }
27
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/awareness/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAKhC,MAAM,2BAA2B,CAAC;AA4BnC,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAE5E;AAED,wBAAgB,0BAA0B,IAAI,iBAAiB,GAAG,IAAI,CAErE;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA8B;IAC3D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IAEvD,QAAQ,CAAC,WAAW,EAAE,oBAAoB,GAAG,IAAI;IAiB3C,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IA0BvD,SAAS,CACb,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,GAAG,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC;IAuBlB,UAAU,CAAC,KAAK,EAAE,0BAA0B,GAAG,IAAI;YAQrC,gBAAgB;IAoB9B,OAAO,CAAC,iBAAiB;YAuCX,iBAAiB;CAuBhC"}
@@ -0,0 +1,162 @@
1
+ import { DEFAULT_CACHE_TTL_MS, SELF_STATUS_SCHEMA_VERSION, SUMMARY_CHAR_LIMIT, SUMMARY_TOTAL_CHAR_LIMIT, } from "../contracts/awareness.js";
2
+ const SANITIZE_PATTERNS = [
3
+ /sk-ant-\S+/gi,
4
+ /sk-\S{20,}/gi,
5
+ /gsk_\S+/gi,
6
+ /xai-\S+/gi,
7
+ /0x[a-fA-F0-9]{64}/gi,
8
+ /[a-fA-F0-9]{64,}/gi,
9
+ /ignore\s+(all\s+)?(previous\s+)?instructions/gi,
10
+ /you are now/gi,
11
+ ];
12
+ function sanitize(input) {
13
+ let output = input;
14
+ for (const pattern of SANITIZE_PATTERNS) {
15
+ output = output.replace(pattern, "[REDACTED]");
16
+ }
17
+ return output;
18
+ }
19
+ let _globalRegistry = null;
20
+ export function setGlobalAwarenessRegistry(registry) {
21
+ _globalRegistry = registry;
22
+ }
23
+ export function getGlobalAwarenessRegistry() {
24
+ return _globalRegistry;
25
+ }
26
+ export class AwarenessRegistry {
27
+ contributors = [];
28
+ contributorIds = new Set();
29
+ cache = new Map();
30
+ register(contributor) {
31
+ if (this.contributorIds.has(contributor.id)) {
32
+ throw new Error(`AwarenessRegistry: duplicate contributor id "${contributor.id}"`);
33
+ }
34
+ this.contributorIds.add(contributor.id);
35
+ const idx = this.contributors.findIndex((c) => c.position > contributor.position);
36
+ if (idx === -1) {
37
+ this.contributors.push(contributor);
38
+ }
39
+ else {
40
+ this.contributors.splice(idx, 0, contributor);
41
+ }
42
+ }
43
+ async composeSummary(runtime) {
44
+ const lines = [];
45
+ for (const contributor of this.contributors) {
46
+ let line;
47
+ try {
48
+ line = await this.getCachedSummary(contributor, runtime);
49
+ }
50
+ catch {
51
+ line = `[${contributor.id}: unavailable]`;
52
+ }
53
+ if (line === "")
54
+ continue;
55
+ if (contributor.trusted !== true) {
56
+ line = sanitize(line);
57
+ }
58
+ if (line.length > SUMMARY_CHAR_LIMIT) {
59
+ line = `${line.slice(0, SUMMARY_CHAR_LIMIT - 3)}...`;
60
+ }
61
+ lines.push(line);
62
+ }
63
+ const header = `[Self Status v${SELF_STATUS_SCHEMA_VERSION}]`;
64
+ return this.applyGlobalBudget(lines, header);
65
+ }
66
+ async getDetail(runtime, module, level) {
67
+ if (module === "all") {
68
+ return this.composeAllDetails(runtime, level);
69
+ }
70
+ const contributor = this.contributors.find((c) => c.id === module);
71
+ if (!contributor) {
72
+ const available = this.contributors.map((c) => c.id).join(", ");
73
+ return `[Error: unknown module "${module}". Available: ${available}]`;
74
+ }
75
+ if (!contributor.detail) {
76
+ return `[${contributor.id}: no detail available]`;
77
+ }
78
+ try {
79
+ const detail = await contributor.detail(runtime, level);
80
+ return contributor.trusted !== true ? sanitize(detail) : detail;
81
+ }
82
+ catch {
83
+ return `[${contributor.id}: unavailable]`;
84
+ }
85
+ }
86
+ invalidate(event) {
87
+ for (const contributor of this.contributors) {
88
+ if (contributor.invalidateOn?.includes(event)) {
89
+ this.cache.delete(contributor.id);
90
+ }
91
+ }
92
+ }
93
+ async getCachedSummary(contributor, runtime) {
94
+ const ttl = contributor.cacheTtl ?? DEFAULT_CACHE_TTL_MS;
95
+ const cached = this.cache.get(contributor.id);
96
+ const now = Date.now();
97
+ if (cached && cached.expiresAt > now) {
98
+ return cached.value;
99
+ }
100
+ const value = await contributor.summary(runtime);
101
+ this.cache.set(contributor.id, {
102
+ value,
103
+ expiresAt: now + ttl,
104
+ });
105
+ return value;
106
+ }
107
+ applyGlobalBudget(lines, header) {
108
+ const headerLen = header.length + 1;
109
+ let budget = SUMMARY_TOTAL_CHAR_LIMIT - headerLen;
110
+ const included = [];
111
+ let remaining = 0;
112
+ let bodyLen = 0;
113
+ for (let i = 0; i < lines.length; i++) {
114
+ const lineLen = lines[i].length + 1;
115
+ if (budget >= lineLen) {
116
+ bodyLen =
117
+ included.length === 0
118
+ ? lines[i].length
119
+ : bodyLen + 1 + lines[i].length;
120
+ included.push(lines[i]);
121
+ budget -= lineLen;
122
+ }
123
+ else {
124
+ remaining = lines.length - i;
125
+ break;
126
+ }
127
+ }
128
+ if (remaining > 0) {
129
+ let suffix = `\n[+${remaining} more]`;
130
+ while (bodyLen + suffix.length + headerLen + 1 > SUMMARY_TOTAL_CHAR_LIMIT &&
131
+ included.length > 1) {
132
+ const removed = included.pop();
133
+ bodyLen -= removed.length + 1;
134
+ remaining++;
135
+ suffix = `\n[+${remaining} more]`;
136
+ }
137
+ return `${header}\n${included.join("\n")}${suffix}`;
138
+ }
139
+ return `${header}\n${included.join("\n")}`;
140
+ }
141
+ async composeAllDetails(runtime, level) {
142
+ const parts = [];
143
+ for (const contributor of this.contributors) {
144
+ if (!contributor.detail) {
145
+ parts.push(`[${contributor.id}: no detail available]`);
146
+ continue;
147
+ }
148
+ try {
149
+ let detail = await contributor.detail(runtime, level);
150
+ if (contributor.trusted !== true) {
151
+ detail = sanitize(detail);
152
+ }
153
+ parts.push(detail);
154
+ }
155
+ catch {
156
+ parts.push(`[${contributor.id}: unavailable]`);
157
+ }
158
+ }
159
+ return parts.join("\n");
160
+ }
161
+ }
162
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/awareness/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,333 @@
1
+ import type { BlockStreamingChunkConfig, BlockStreamingCoalesceConfig, HumanDelayConfig, TypingMode } from "@elizaos/core";
2
+ import type { MemorySearchConfig } from "./types.tools.js";
3
+ export type SandboxDockerSettings = {
4
+ /** Docker image to use for sandbox containers. */
5
+ image?: string;
6
+ /** Prefix for sandbox container names. */
7
+ containerPrefix?: string;
8
+ /** Container workdir mount path (default: /workspace). */
9
+ workdir?: string;
10
+ /** Run container rootfs read-only. */
11
+ readOnlyRoot?: boolean;
12
+ /** Extra tmpfs mounts for read-only containers. */
13
+ tmpfs?: string[];
14
+ /** Container network mode (bridge|none|custom). */
15
+ network?: string;
16
+ /** Container user (uid:gid). */
17
+ user?: string;
18
+ /** Drop Linux capabilities. */
19
+ capDrop?: string[];
20
+ /** Extra environment variables for sandbox exec. */
21
+ env?: Record<string, string>;
22
+ /** Optional setup command run once after container creation. */
23
+ setupCommand?: string;
24
+ /** Limit container PIDs (0 = Docker default). */
25
+ pidsLimit?: number;
26
+ /** Limit container memory (e.g. 512m, 2g, or bytes as number). */
27
+ memory?: string | number;
28
+ /** Limit container memory swap (same format as memory). */
29
+ memorySwap?: string | number;
30
+ /** Limit container CPU shares (e.g. 0.5, 1, 2). */
31
+ cpus?: number;
32
+ /**
33
+ * Set ulimit values by name (e.g. nofile, nproc).
34
+ * Use "soft:hard" string, a number, or { soft, hard }.
35
+ */
36
+ ulimits?: Record<string, string | number | {
37
+ soft?: number;
38
+ hard?: number;
39
+ }>;
40
+ /** Seccomp profile (path or profile name). */
41
+ seccompProfile?: string;
42
+ /** AppArmor profile name. */
43
+ apparmorProfile?: string;
44
+ /** DNS servers (e.g. ["1.1.1.1", "8.8.8.8"]). */
45
+ dns?: string[];
46
+ /** Extra host mappings (e.g. ["api.local:10.0.0.2"]). */
47
+ extraHosts?: string[];
48
+ /** Additional bind mounts (host:container:mode format, e.g. ["/host/path:/container/path:rw"]). */
49
+ binds?: string[];
50
+ };
51
+ export type SandboxBrowserSettings = {
52
+ enabled?: boolean;
53
+ image?: string;
54
+ containerPrefix?: string;
55
+ cdpPort?: number;
56
+ vncPort?: number;
57
+ noVncPort?: number;
58
+ headless?: boolean;
59
+ enableNoVnc?: boolean;
60
+ /**
61
+ * Allow sandboxed sessions to target the host browser control server.
62
+ * Default: false.
63
+ */
64
+ allowHostControl?: boolean;
65
+ /**
66
+ * When true (default), sandboxed browser control will try to start/reattach to
67
+ * the sandbox browser container when a tool call needs it.
68
+ */
69
+ autoStart?: boolean;
70
+ /** Max time to wait for CDP to become reachable after auto-start (ms). */
71
+ autoStartTimeoutMs?: number;
72
+ };
73
+ export type SandboxPruneSettings = {
74
+ /** Prune if idle for more than N hours (0 disables). */
75
+ idleHours?: number;
76
+ /** Prune if older than N days (0 disables). */
77
+ maxAgeDays?: number;
78
+ };
79
+ export type AgentModelEntryConfig = {
80
+ alias?: string;
81
+ /** Provider-specific API parameters (e.g., GLM-4.7 thinking mode). */
82
+ params?: Record<string, unknown>;
83
+ };
84
+ export type AgentModelListConfig = {
85
+ primary?: string;
86
+ fallbacks?: string[];
87
+ };
88
+ export type AgentContextPruningConfig = {
89
+ mode?: "off" | "cache-ttl";
90
+ /** TTL to consider cache expired (duration string, default unit: minutes). */
91
+ ttl?: string;
92
+ keepLastAssistants?: number;
93
+ softTrimRatio?: number;
94
+ hardClearRatio?: number;
95
+ minPrunableToolChars?: number;
96
+ tools?: {
97
+ allow?: string[];
98
+ deny?: string[];
99
+ };
100
+ softTrim?: {
101
+ maxChars?: number;
102
+ headChars?: number;
103
+ tailChars?: number;
104
+ };
105
+ hardClear?: {
106
+ enabled?: boolean;
107
+ placeholder?: string;
108
+ };
109
+ };
110
+ export type CliBackendConfig = {
111
+ /** CLI command to execute (absolute path or on PATH). */
112
+ command: string;
113
+ /** Base args applied to every invocation. */
114
+ args?: string[];
115
+ /** Output parsing mode (default: json). */
116
+ output?: "json" | "text" | "jsonl";
117
+ /** Output parsing mode when resuming a CLI session. */
118
+ resumeOutput?: "json" | "text" | "jsonl";
119
+ /** Prompt input mode (default: arg). */
120
+ input?: "arg" | "stdin";
121
+ /** Max prompt length for arg mode (if exceeded, stdin is used). */
122
+ maxPromptArgChars?: number;
123
+ /** Extra env vars injected for this CLI. */
124
+ env?: Record<string, string>;
125
+ /** Env vars to remove before launching this CLI. */
126
+ clearEnv?: string[];
127
+ /** Flag used to pass model id (e.g. --model). */
128
+ modelArg?: string;
129
+ /** Model aliases mapping (config model id → CLI model id). */
130
+ modelAliases?: Record<string, string>;
131
+ /** Flag used to pass session id (e.g. --session-id). */
132
+ sessionArg?: string;
133
+ /** Extra args used when resuming a session (use {sessionId} placeholder). */
134
+ sessionArgs?: string[];
135
+ /** Alternate args to use when resuming a session (use {sessionId} placeholder). */
136
+ resumeArgs?: string[];
137
+ /** When to pass session ids. */
138
+ sessionMode?: "always" | "existing" | "none";
139
+ /** JSON fields to read session id from (in order). */
140
+ sessionIdFields?: string[];
141
+ /** Flag used to pass system prompt. */
142
+ systemPromptArg?: string;
143
+ /** System prompt behavior (append vs replace). */
144
+ systemPromptMode?: "append" | "replace";
145
+ /** When to send system prompt. */
146
+ systemPromptWhen?: "first" | "always" | "never";
147
+ /** Flag used to pass image paths. */
148
+ imageArg?: string;
149
+ /** How to pass multiple images. */
150
+ imageMode?: "repeat" | "list";
151
+ /** Serialize runs for this CLI. */
152
+ serialize?: boolean;
153
+ };
154
+ export type AgentDefaultsConfig = {
155
+ /** Active subscription provider, set automatically by provider switch. */
156
+ subscriptionProvider?: string;
157
+ /** Primary model and fallbacks (provider/model). */
158
+ model?: AgentModelListConfig;
159
+ /** Optional image-capable model and fallbacks (provider/model). */
160
+ imageModel?: AgentModelListConfig;
161
+ /** Model catalog with optional aliases (full provider/model keys). */
162
+ models?: Record<string, AgentModelEntryConfig>;
163
+ /** Agent working directory (preferred). Used as the default cwd for agent runs. */
164
+ workspace?: string;
165
+ /** Stable owner/admin entity id used for control-chat ownership and trust policies. */
166
+ adminEntityId?: string;
167
+ /** Optional repository root for system prompt runtime line (overrides auto-detect). */
168
+ repoRoot?: string;
169
+ /** Skip init (INIT.md creation, etc.) for pre-configured deployments. */
170
+ skipInit?: boolean;
171
+ /** Max chars for injected init files before truncation (default: 20000). */
172
+ initMaxChars?: number;
173
+ /** Enable init providers (attachments, entities, facts). Can consume significant tokens (default: true). */
174
+ enableInitProviders?: boolean;
175
+ /** Optional IANA timezone for the user (used in system prompt; defaults to host timezone). */
176
+ userTimezone?: string;
177
+ /** Time format in system prompt: auto (OS preference), 12-hour, or 24-hour. */
178
+ timeFormat?: "auto" | "12" | "24";
179
+ /**
180
+ * Envelope timestamp timezone: "utc" (default), "local", "user", or an IANA timezone string.
181
+ */
182
+ envelopeTimezone?: string;
183
+ /**
184
+ * Include absolute timestamps in message envelopes ("on" | "off", default: "on").
185
+ */
186
+ envelopeTimestamp?: "on" | "off";
187
+ /**
188
+ * Include elapsed time in message envelopes ("on" | "off", default: "on").
189
+ */
190
+ envelopeElapsed?: "on" | "off";
191
+ /** Optional context window cap (used for runtime estimates + status %). */
192
+ contextTokens?: number;
193
+ /** Optional CLI backends for text-only fallback (claude-cli, etc.). */
194
+ cliBackends?: Record<string, CliBackendConfig>;
195
+ /** Opt-in: prune old tool results from the LLM context to reduce token usage. */
196
+ contextPruning?: AgentContextPruningConfig;
197
+ /** Compaction tuning and pre-compaction memory flush behavior. */
198
+ compaction?: AgentCompactionConfig;
199
+ /** Vector memory search configuration (per-agent overrides supported). */
200
+ memorySearch?: MemorySearchConfig;
201
+ /** Enable built-in advanced memory providers/evaluators by default. */
202
+ advancedMemory?: boolean;
203
+ /** Default thinking level when no /think directive is present. */
204
+ thinkingDefault?: "off" | "minimal" | "low" | "medium" | "high" | "xhigh";
205
+ /** Default verbose level when no /verbose directive is present. */
206
+ verboseDefault?: "off" | "on" | "full";
207
+ /** Default elevated level when no /elevated directive is present. */
208
+ elevatedDefault?: "off" | "on" | "ask" | "full";
209
+ /** Default block streaming level when no override is present. */
210
+ blockStreamingDefault?: "off" | "on";
211
+ /**
212
+ * Block streaming boundary:
213
+ * - "text_end": end of each assistant text content block (before tool calls)
214
+ * - "message_end": end of the whole assistant message (may include tool blocks)
215
+ */
216
+ blockStreamingBreak?: "text_end" | "message_end";
217
+ /** Soft block chunking for streamed replies (min/max chars, prefer paragraph/newline). */
218
+ blockStreamingChunk?: BlockStreamingChunkConfig;
219
+ /**
220
+ * Block reply coalescing (merge streamed chunks before send).
221
+ * idleMs: wait time before flushing when idle.
222
+ */
223
+ blockStreamingCoalesce?: BlockStreamingCoalesceConfig;
224
+ /** Human-like delay between block replies. */
225
+ humanDelay?: HumanDelayConfig;
226
+ timeoutSeconds?: number;
227
+ /** Max inbound media size in MB for agent-visible attachments (text note or future image attach). */
228
+ mediaMaxMb?: number;
229
+ typingIntervalSeconds?: number;
230
+ /** Typing indicator start mode (never|instant|thinking|message). */
231
+ typingMode?: TypingMode;
232
+ /** Periodic background heartbeat runs. */
233
+ heartbeat?: {
234
+ /** Heartbeat interval (duration string, default unit: minutes; default: 30m). */
235
+ every?: string;
236
+ /** Optional active-hours window (local time); heartbeats run only inside this window. */
237
+ activeHours?: {
238
+ /** Start time (24h, HH:MM). Inclusive. */
239
+ start?: string;
240
+ /** End time (24h, HH:MM). Exclusive. Use "24:00" for end-of-day. */
241
+ end?: string;
242
+ /** Timezone for the window ("user", "local", or IANA TZ id). Default: "user". */
243
+ timezone?: string;
244
+ };
245
+ /** Heartbeat model override (provider/model). */
246
+ model?: string;
247
+ /** Session key for heartbeat runs ("main" or explicit session key). */
248
+ session?: string;
249
+ /** Delivery target ("last", "none", or a channel id). */
250
+ target?: "last" | "none" | string;
251
+ /** Optional delivery override (E.164 for WhatsApp, chat id for Telegram). */
252
+ to?: string;
253
+ /** Override the heartbeat prompt body (default: "Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK."). */
254
+ prompt?: string;
255
+ /** Max chars allowed after HEARTBEAT_OK before delivery (default: 30). */
256
+ ackMaxChars?: number;
257
+ /**
258
+ * When enabled, deliver the model's reasoning payload for heartbeat runs (when available)
259
+ * as a separate message prefixed with `Reasoning:` (same as `/reasoning on`).
260
+ *
261
+ * Default: false (only the final heartbeat payload is delivered).
262
+ */
263
+ includeReasoning?: boolean;
264
+ };
265
+ /** Max concurrent agent runs across all conversations. Default: 1 (sequential). */
266
+ maxConcurrent?: number;
267
+ /** Sub-agent defaults (spawned via sessions_spawn). */
268
+ subagents?: {
269
+ /** Max concurrent sub-agent runs (global lane: "subagent"). Default: 1. */
270
+ maxConcurrent?: number;
271
+ /** Auto-archive sub-agent sessions after N minutes (default: 60). */
272
+ archiveAfterMinutes?: number;
273
+ /** Default model selection for spawned sub-agents (string or {primary,fallbacks}). */
274
+ model?: string | {
275
+ primary?: string;
276
+ fallbacks?: string[];
277
+ };
278
+ /** Default thinking level for spawned sub-agents (e.g. "off", "low", "medium", "high"). */
279
+ thinking?: string;
280
+ };
281
+ /** Optional sandbox settings for non-main sessions. */
282
+ sandbox?: {
283
+ /** Enable sandboxing for sessions. */
284
+ mode?: "off" | "non-main" | "all";
285
+ /**
286
+ * Agent workspace access inside the sandbox.
287
+ * - "none": do not mount the agent workspace into the container; use a sandbox workspace under workspaceRoot
288
+ * - "ro": mount the agent workspace read-only; disables write/edit tools
289
+ * - "rw": mount the agent workspace read/write; enables write/edit tools
290
+ */
291
+ workspaceAccess?: "none" | "ro" | "rw";
292
+ /**
293
+ * Session tools visibility for sandboxed sessions.
294
+ * - "spawned": only allow session tools to target sessions spawned from this session (default)
295
+ * - "all": allow session tools to target any session
296
+ */
297
+ sessionToolsVisibility?: "spawned" | "all";
298
+ /** Container/workspace scope for sandbox isolation. */
299
+ scope?: "session" | "agent" | "shared";
300
+ /** Legacy alias for scope ("session" when true, "shared" when false). */
301
+ perSession?: boolean;
302
+ /** Root directory for sandbox workspaces. */
303
+ workspaceRoot?: string;
304
+ /** Docker-specific sandbox settings. */
305
+ docker?: SandboxDockerSettings;
306
+ /** Optional sandboxed browser settings. */
307
+ browser?: SandboxBrowserSettings;
308
+ /** Auto-prune sandbox containers. */
309
+ prune?: SandboxPruneSettings;
310
+ };
311
+ };
312
+ export type AgentCompactionMode = "default" | "safeguard";
313
+ export type AgentCompactionConfig = {
314
+ /** Compaction summarization mode. */
315
+ mode?: AgentCompactionMode;
316
+ /** Minimum reserve tokens enforced for Pi compaction (0 disables the floor). */
317
+ reserveTokensFloor?: number;
318
+ /** Max share of context window for history during safeguard pruning (0.1–0.9, default 0.5). */
319
+ maxHistoryShare?: number;
320
+ /** Pre-compaction memory flush (agentic turn). Default: enabled. */
321
+ memoryFlush?: AgentCompactionMemoryFlushConfig;
322
+ };
323
+ export type AgentCompactionMemoryFlushConfig = {
324
+ /** Enable the pre-compaction memory flush (default: true). */
325
+ enabled?: boolean;
326
+ /** Run the memory flush when context is within this many tokens of the compaction threshold. */
327
+ softThresholdTokens?: number;
328
+ /** User prompt used for the memory flush turn (NO_REPLY is enforced if missing). */
329
+ prompt?: string;
330
+ /** System prompt appended for the memory flush turn. */
331
+ systemPrompt?: string;
332
+ };
333
+ //# sourceMappingURL=types.agent-defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.agent-defaults.d.ts","sourceRoot":"","sources":["../../src/config/types.agent-defaults.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.agent-defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.agent-defaults.js","sourceRoot":"","sources":["../../src/config/types.agent-defaults.ts"],"names":[],"mappings":""}