@silicaclaw/cli 1.0.0-beta.4 → 1.0.0-beta.6

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 (35) hide show
  1. package/package.json +1 -1
  2. package/packages/storage/tsconfig.json +6 -1
  3. package/scripts/quickstart.sh +41 -1
  4. package/packages/storage/dist/core/src/crypto.d.ts +0 -6
  5. package/packages/storage/dist/core/src/crypto.js +0 -50
  6. package/packages/storage/dist/core/src/directory.d.ts +0 -17
  7. package/packages/storage/dist/core/src/directory.js +0 -145
  8. package/packages/storage/dist/core/src/identity.d.ts +0 -2
  9. package/packages/storage/dist/core/src/identity.js +0 -18
  10. package/packages/storage/dist/core/src/index.d.ts +0 -11
  11. package/packages/storage/dist/core/src/index.js +0 -27
  12. package/packages/storage/dist/core/src/indexing.d.ts +0 -6
  13. package/packages/storage/dist/core/src/indexing.js +0 -43
  14. package/packages/storage/dist/core/src/presence.d.ts +0 -4
  15. package/packages/storage/dist/core/src/presence.js +0 -23
  16. package/packages/storage/dist/core/src/profile.d.ts +0 -4
  17. package/packages/storage/dist/core/src/profile.js +0 -39
  18. package/packages/storage/dist/core/src/publicProfileSummary.d.ts +0 -70
  19. package/packages/storage/dist/core/src/publicProfileSummary.js +0 -103
  20. package/packages/storage/dist/core/src/socialConfig.d.ts +0 -99
  21. package/packages/storage/dist/core/src/socialConfig.js +0 -287
  22. package/packages/storage/dist/core/src/socialResolver.d.ts +0 -46
  23. package/packages/storage/dist/core/src/socialResolver.js +0 -227
  24. package/packages/storage/dist/core/src/socialTemplate.d.ts +0 -2
  25. package/packages/storage/dist/core/src/socialTemplate.js +0 -88
  26. package/packages/storage/dist/core/src/types.d.ts +0 -37
  27. package/packages/storage/dist/core/src/types.js +0 -2
  28. /package/packages/storage/dist/{storage/src/index.d.ts → index.d.ts} +0 -0
  29. /package/packages/storage/dist/{storage/src/index.js → index.js} +0 -0
  30. /package/packages/storage/dist/{storage/src/jsonRepo.d.ts → jsonRepo.d.ts} +0 -0
  31. /package/packages/storage/dist/{storage/src/jsonRepo.js → jsonRepo.js} +0 -0
  32. /package/packages/storage/dist/{storage/src/repos.d.ts → repos.d.ts} +0 -0
  33. /package/packages/storage/dist/{storage/src/repos.js → repos.js} +0 -0
  34. /package/packages/storage/dist/{storage/src/socialRuntimeRepo.d.ts → socialRuntimeRepo.d.ts} +0 -0
  35. /package/packages/storage/dist/{storage/src/socialRuntimeRepo.js → socialRuntimeRepo.js} +0 -0
@@ -1,103 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deriveCapabilitiesSummary = deriveCapabilitiesSummary;
4
- exports.buildPublicProfileSummary = buildPublicProfileSummary;
5
- const DEFAULT_VISIBILITY = {
6
- show_tags: true,
7
- show_last_seen: true,
8
- show_capabilities_summary: true,
9
- };
10
- const CAPABILITY_KEYS = ["browser", "computer", "research", "openclaw"];
11
- function deriveCapabilitiesSummary(tags) {
12
- const normalized = new Set(tags.map((tag) => String(tag).trim().toLowerCase()).filter(Boolean));
13
- return CAPABILITY_KEYS.filter((key) => normalized.has(key));
14
- }
15
- function buildPublicProfileSummary(args) {
16
- const visibility = {
17
- show_tags: typeof args.visibility?.show_tags === "boolean"
18
- ? args.visibility.show_tags
19
- : DEFAULT_VISIBILITY.show_tags,
20
- show_last_seen: typeof args.visibility?.show_last_seen === "boolean"
21
- ? args.visibility.show_last_seen
22
- : DEFAULT_VISIBILITY.show_last_seen,
23
- show_capabilities_summary: typeof args.visibility?.show_capabilities_summary === "boolean"
24
- ? args.visibility.show_capabilities_summary
25
- : DEFAULT_VISIBILITY.show_capabilities_summary,
26
- };
27
- const tags = visibility.show_tags ? args.profile.tags : [];
28
- const capabilities = visibility.show_capabilities_summary ? deriveCapabilitiesSummary(args.profile.tags) : [];
29
- const now = Number.isFinite(args.now) ? Number(args.now) : Date.now();
30
- const ttl = Number.isFinite(args.presence_ttl_ms) ? Number(args.presence_ttl_ms) : 30_000;
31
- const age = args.last_seen_at ? Math.max(0, now - args.last_seen_at) : Number.POSITIVE_INFINITY;
32
- const freshness_status = age <= ttl ? "live" : age <= ttl * 3 ? "recently_seen" : "stale";
33
- const verified_profile = Boolean(args.verified_profile);
34
- const verified_presence_recent = freshness_status !== "stale" && Boolean(args.last_seen_at);
35
- const verification_status = !verified_profile
36
- ? "unverified"
37
- : verified_presence_recent
38
- ? "verified"
39
- : "stale";
40
- const visible_fields = [
41
- "display_name",
42
- "bio",
43
- "public_enabled",
44
- "profile_updated_at",
45
- visibility.show_tags ? "tags" : "",
46
- visibility.show_last_seen ? "presence_seen_at" : "",
47
- visibility.show_capabilities_summary ? "capabilities_summary" : "",
48
- ].filter((field) => Boolean(field));
49
- const hidden_fields = [
50
- visibility.show_tags ? "" : "tags",
51
- visibility.show_last_seen ? "" : "presence_seen_at",
52
- visibility.show_capabilities_summary ? "" : "capabilities_summary",
53
- ].filter((field) => Boolean(field));
54
- return {
55
- agent_id: args.profile.agent_id,
56
- display_name: args.profile.display_name,
57
- bio: args.profile.bio,
58
- avatar_url: args.profile.avatar_url,
59
- public_enabled: args.profile.public_enabled,
60
- updated_at: args.profile.updated_at,
61
- online: args.online,
62
- last_seen_at: visibility.show_last_seen ? args.last_seen_at : null,
63
- tags,
64
- network_mode: args.network_mode ?? "unknown",
65
- openclaw_bound: Boolean(args.openclaw_bound),
66
- capabilities_summary: capabilities,
67
- profile_version: args.profile_version ?? "v1",
68
- public_key_fingerprint: args.public_key_fingerprint ?? null,
69
- profile_updated_at: args.profile.updated_at,
70
- presence_seen_at: visibility.show_last_seen ? args.last_seen_at : null,
71
- freshness_status,
72
- verified_profile,
73
- verified_presence_recent,
74
- verification_status,
75
- signed_claims: {
76
- display_name: args.profile.display_name,
77
- bio: args.profile.bio,
78
- avatar_url: args.profile.avatar_url,
79
- tags,
80
- public_enabled: args.profile.public_enabled,
81
- profile_version: args.profile_version ?? "v1",
82
- profile_updated_at: args.profile.updated_at,
83
- public_key_fingerprint: args.public_key_fingerprint ?? null,
84
- verified_profile,
85
- },
86
- observed_state: {
87
- online: args.online,
88
- freshness_status,
89
- presence_seen_at: visibility.show_last_seen ? args.last_seen_at : null,
90
- verified_presence_recent,
91
- },
92
- integration_metadata: {
93
- network_mode: args.network_mode ?? "unknown",
94
- openclaw_bound: Boolean(args.openclaw_bound),
95
- verification_status,
96
- },
97
- public_visibility: {
98
- visible_fields,
99
- hidden_fields,
100
- },
101
- visibility,
102
- };
103
- }
@@ -1,99 +0,0 @@
1
- export type SocialIdentityConfig = {
2
- display_name: string;
3
- bio: string;
4
- avatar_url: string;
5
- tags: string[];
6
- };
7
- export type SocialNetworkAdapter = "mock" | "local-event-bus" | "real-preview" | "webrtc-preview";
8
- export type SocialNetworkMode = "local" | "lan" | "global-preview";
9
- export type SocialNetworkConfig = {
10
- mode: SocialNetworkMode;
11
- namespace: string;
12
- adapter: SocialNetworkAdapter;
13
- port: number;
14
- signaling_url: string;
15
- signaling_urls: string[];
16
- room: string;
17
- seed_peers: string[];
18
- bootstrap_hints: string[];
19
- };
20
- export type SocialDiscoveryConfig = {
21
- discoverable: boolean;
22
- allow_profile_broadcast: boolean;
23
- allow_presence_broadcast: boolean;
24
- };
25
- export type SocialVisibilityConfig = {
26
- show_display_name: boolean;
27
- show_bio: boolean;
28
- show_tags: boolean;
29
- show_agent_id: boolean;
30
- show_last_seen: boolean;
31
- show_capabilities_summary: boolean;
32
- };
33
- export type SocialOpenClawConfig = {
34
- bind_existing_identity: boolean;
35
- use_openclaw_profile_if_available: boolean;
36
- };
37
- export type SocialConfig = {
38
- enabled: boolean;
39
- public_enabled: boolean;
40
- identity: SocialIdentityConfig;
41
- network: SocialNetworkConfig;
42
- discovery: SocialDiscoveryConfig;
43
- visibility: SocialVisibilityConfig;
44
- openclaw: SocialOpenClawConfig;
45
- };
46
- export type SocialLoadMeta = {
47
- found: boolean;
48
- source_path: string | null;
49
- parse_error: string | null;
50
- loaded_at: number;
51
- };
52
- export type SocialRuntimeConfig = {
53
- enabled: boolean;
54
- public_enabled: boolean;
55
- source_path: string | null;
56
- last_loaded_at: number;
57
- social_found: boolean;
58
- parse_error: string | null;
59
- resolved_identity: {
60
- agent_id: string;
61
- public_key: string;
62
- created_at: number;
63
- source: "silicaclaw-existing" | "openclaw-existing" | "silicaclaw-generated";
64
- } | null;
65
- resolved_profile: {
66
- display_name: string;
67
- bio: string;
68
- avatar_url?: string;
69
- tags: string[];
70
- public_enabled: boolean;
71
- } | null;
72
- resolved_network: {
73
- mode: SocialNetworkMode;
74
- adapter: SocialNetworkAdapter;
75
- namespace: string;
76
- port: number | null;
77
- signaling_url: string;
78
- signaling_urls: string[];
79
- room: string;
80
- seed_peers: string[];
81
- bootstrap_hints: string[];
82
- bootstrap_sources: string[];
83
- };
84
- resolved_discovery: SocialDiscoveryConfig;
85
- visibility: SocialVisibilityConfig;
86
- openclaw: SocialOpenClawConfig;
87
- };
88
- export declare function parseFrontmatterObject(frontmatter: string): Record<string, unknown>;
89
- export declare function extractFrontmatter(content: string): string | null;
90
- export declare function normalizeSocialConfig(input: unknown): SocialConfig;
91
- export declare function getDefaultSocialConfig(): SocialConfig;
92
- export type DefaultSocialTemplateOptions = {
93
- display_name?: string;
94
- bio?: string;
95
- tags?: string[];
96
- mode?: SocialNetworkMode;
97
- public_enabled?: boolean;
98
- };
99
- export declare function generateDefaultSocialMdTemplate(options?: DefaultSocialTemplateOptions): string;
@@ -1,287 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseFrontmatterObject = parseFrontmatterObject;
4
- exports.extractFrontmatter = extractFrontmatter;
5
- exports.normalizeSocialConfig = normalizeSocialConfig;
6
- exports.getDefaultSocialConfig = getDefaultSocialConfig;
7
- exports.generateDefaultSocialMdTemplate = generateDefaultSocialMdTemplate;
8
- const DEFAULT_SOCIAL_CONFIG = {
9
- enabled: true,
10
- public_enabled: false,
11
- identity: {
12
- display_name: "",
13
- bio: "",
14
- avatar_url: "",
15
- tags: [],
16
- },
17
- network: {
18
- mode: "lan",
19
- namespace: "silicaclaw.preview",
20
- adapter: "real-preview",
21
- port: 44123,
22
- signaling_url: "http://localhost:4510",
23
- signaling_urls: [],
24
- room: "silicaclaw-room",
25
- seed_peers: [],
26
- bootstrap_hints: [],
27
- },
28
- discovery: {
29
- discoverable: true,
30
- allow_profile_broadcast: true,
31
- allow_presence_broadcast: true,
32
- },
33
- visibility: {
34
- show_display_name: true,
35
- show_bio: true,
36
- show_tags: true,
37
- show_agent_id: true,
38
- show_last_seen: true,
39
- show_capabilities_summary: true,
40
- },
41
- openclaw: {
42
- bind_existing_identity: true,
43
- use_openclaw_profile_if_available: true,
44
- },
45
- };
46
- function parseScalar(value) {
47
- const trimmed = value.trim();
48
- if (trimmed === "[]")
49
- return [];
50
- if (trimmed.startsWith("[") && trimmed.endsWith("]")) {
51
- const inner = trimmed.slice(1, -1).trim();
52
- if (!inner)
53
- return [];
54
- return inner
55
- .split(",")
56
- .map((item) => item.trim())
57
- .map((item) => (item.startsWith('"') && item.endsWith('"')) || (item.startsWith("'") && item.endsWith("'"))
58
- ? item.slice(1, -1)
59
- : item)
60
- .filter(Boolean);
61
- }
62
- if (trimmed === "true")
63
- return true;
64
- if (trimmed === "false")
65
- return false;
66
- if (trimmed === "null")
67
- return null;
68
- if (/^-?\d+(\.\d+)?$/.test(trimmed))
69
- return Number(trimmed);
70
- if ((trimmed.startsWith('"') && trimmed.endsWith('"')) ||
71
- (trimmed.startsWith("'") && trimmed.endsWith("'"))) {
72
- return trimmed.slice(1, -1);
73
- }
74
- return trimmed;
75
- }
76
- function countIndent(line) {
77
- let count = 0;
78
- while (count < line.length && line[count] === " ")
79
- count += 1;
80
- return count;
81
- }
82
- function findNextSignificantLine(lines, start) {
83
- for (let i = start; i < lines.length; i += 1) {
84
- const raw = lines[i];
85
- const trimmed = raw.trim();
86
- if (!trimmed || trimmed.startsWith("#"))
87
- continue;
88
- return { line: trimmed, indent: countIndent(raw) };
89
- }
90
- return null;
91
- }
92
- function parseFrontmatterObject(frontmatter) {
93
- const root = {};
94
- const lines = frontmatter.replace(/\r\n/g, "\n").split("\n");
95
- const stack = [{ indent: -1, value: root, kind: "object" }];
96
- for (let i = 0; i < lines.length; i += 1) {
97
- const raw = lines[i];
98
- const trimmed = raw.trim();
99
- if (!trimmed || trimmed.startsWith("#"))
100
- continue;
101
- const indent = countIndent(raw);
102
- while (stack.length > 1 && indent <= stack[stack.length - 1].indent) {
103
- stack.pop();
104
- }
105
- const current = stack[stack.length - 1];
106
- if (trimmed.startsWith("- ")) {
107
- if (current.kind !== "array") {
108
- continue;
109
- }
110
- const itemRaw = trimmed.slice(2).trim();
111
- if (!itemRaw) {
112
- const child = {};
113
- current.value.push(child);
114
- stack.push({ indent, value: child, kind: "object" });
115
- continue;
116
- }
117
- const keyValue = itemRaw.match(/^([A-Za-z0-9_]+):\s*(.*)$/);
118
- if (keyValue) {
119
- const child = {};
120
- const key = keyValue[1];
121
- const valueRaw = keyValue[2];
122
- child[key] = valueRaw ? parseScalar(valueRaw) : "";
123
- current.value.push(child);
124
- continue;
125
- }
126
- current.value.push(parseScalar(itemRaw));
127
- continue;
128
- }
129
- const match = trimmed.match(/^([A-Za-z0-9_]+):\s*(.*)$/);
130
- if (!match || current.kind !== "object") {
131
- continue;
132
- }
133
- const key = match[1];
134
- const valueRaw = match[2];
135
- const obj = current.value;
136
- if (valueRaw) {
137
- obj[key] = parseScalar(valueRaw);
138
- continue;
139
- }
140
- const next = findNextSignificantLine(lines, i + 1);
141
- const nextIsArray = Boolean(next && next.indent > indent && next.line.startsWith("- "));
142
- if (nextIsArray) {
143
- const arr = [];
144
- obj[key] = arr;
145
- stack.push({ indent, value: arr, kind: "array" });
146
- continue;
147
- }
148
- const childObj = {};
149
- obj[key] = childObj;
150
- stack.push({ indent, value: childObj, kind: "object" });
151
- }
152
- return root;
153
- }
154
- function extractFrontmatter(content) {
155
- const normalized = content.replace(/\r\n/g, "\n");
156
- if (!normalized.startsWith("---\n")) {
157
- return null;
158
- }
159
- const end = normalized.indexOf("\n---", 4);
160
- if (end < 0) {
161
- return null;
162
- }
163
- return normalized.slice(4, end).trim();
164
- }
165
- function asObject(value) {
166
- if (typeof value === "object" && value !== null && !Array.isArray(value)) {
167
- return value;
168
- }
169
- return {};
170
- }
171
- function asBool(value, fallback) {
172
- return typeof value === "boolean" ? value : fallback;
173
- }
174
- function asString(value, fallback) {
175
- return typeof value === "string" ? value : fallback;
176
- }
177
- function asNumber(value, fallback) {
178
- return Number.isFinite(value) ? Number(value) : fallback;
179
- }
180
- function asStringArray(value, fallback) {
181
- if (!Array.isArray(value))
182
- return fallback;
183
- return value.map((item) => String(item).trim()).filter(Boolean);
184
- }
185
- function asAdapter(value, fallback) {
186
- if (value === "mock" ||
187
- value === "local-event-bus" ||
188
- value === "real-preview" ||
189
- value === "webrtc-preview") {
190
- return value;
191
- }
192
- return fallback;
193
- }
194
- function asMode(value, fallback) {
195
- if (value === "local" || value === "lan" || value === "global-preview") {
196
- return value;
197
- }
198
- return fallback;
199
- }
200
- function adapterForMode(mode) {
201
- if (mode === "local")
202
- return "local-event-bus";
203
- if (mode === "lan")
204
- return "real-preview";
205
- return "webrtc-preview";
206
- }
207
- function normalizeSocialConfig(input) {
208
- const root = asObject(input);
209
- const identity = asObject(root.identity);
210
- const network = asObject(root.network);
211
- const discovery = asObject(root.discovery);
212
- const visibility = asObject(root.visibility);
213
- const openclaw = asObject(root.openclaw);
214
- const signalingUrl = asString(network.signaling_url, DEFAULT_SOCIAL_CONFIG.network.signaling_url);
215
- const signalingUrls = asStringArray(network.signaling_urls, DEFAULT_SOCIAL_CONFIG.network.signaling_urls);
216
- const mode = asMode(network.mode, DEFAULT_SOCIAL_CONFIG.network.mode);
217
- return {
218
- enabled: asBool(root.enabled, DEFAULT_SOCIAL_CONFIG.enabled),
219
- public_enabled: asBool(root.public_enabled, DEFAULT_SOCIAL_CONFIG.public_enabled),
220
- identity: {
221
- display_name: asString(identity.display_name, DEFAULT_SOCIAL_CONFIG.identity.display_name),
222
- bio: asString(identity.bio, DEFAULT_SOCIAL_CONFIG.identity.bio),
223
- avatar_url: asString(identity.avatar_url, DEFAULT_SOCIAL_CONFIG.identity.avatar_url),
224
- tags: asStringArray(identity.tags, DEFAULT_SOCIAL_CONFIG.identity.tags),
225
- },
226
- network: {
227
- mode,
228
- namespace: asString(network.namespace, DEFAULT_SOCIAL_CONFIG.network.namespace),
229
- adapter: asAdapter(network.adapter, adapterForMode(mode)),
230
- port: asNumber(network.port, DEFAULT_SOCIAL_CONFIG.network.port),
231
- signaling_url: signalingUrl,
232
- signaling_urls: signalingUrls.length > 0 ? signalingUrls : signalingUrl ? [signalingUrl] : [],
233
- room: asString(network.room, DEFAULT_SOCIAL_CONFIG.network.room),
234
- seed_peers: asStringArray(network.seed_peers, DEFAULT_SOCIAL_CONFIG.network.seed_peers),
235
- bootstrap_hints: asStringArray(network.bootstrap_hints, DEFAULT_SOCIAL_CONFIG.network.bootstrap_hints),
236
- },
237
- discovery: {
238
- discoverable: asBool(discovery.discoverable, DEFAULT_SOCIAL_CONFIG.discovery.discoverable),
239
- allow_profile_broadcast: asBool(discovery.allow_profile_broadcast, DEFAULT_SOCIAL_CONFIG.discovery.allow_profile_broadcast),
240
- allow_presence_broadcast: asBool(discovery.allow_presence_broadcast, DEFAULT_SOCIAL_CONFIG.discovery.allow_presence_broadcast),
241
- },
242
- visibility: {
243
- show_display_name: asBool(visibility.show_display_name, DEFAULT_SOCIAL_CONFIG.visibility.show_display_name),
244
- show_bio: asBool(visibility.show_bio, DEFAULT_SOCIAL_CONFIG.visibility.show_bio),
245
- show_tags: asBool(visibility.show_tags, DEFAULT_SOCIAL_CONFIG.visibility.show_tags),
246
- show_agent_id: asBool(visibility.show_agent_id, DEFAULT_SOCIAL_CONFIG.visibility.show_agent_id),
247
- show_last_seen: asBool(visibility.show_last_seen, DEFAULT_SOCIAL_CONFIG.visibility.show_last_seen),
248
- show_capabilities_summary: asBool(visibility.show_capabilities_summary, DEFAULT_SOCIAL_CONFIG.visibility.show_capabilities_summary),
249
- },
250
- openclaw: {
251
- bind_existing_identity: asBool(openclaw.bind_existing_identity, DEFAULT_SOCIAL_CONFIG.openclaw.bind_existing_identity),
252
- use_openclaw_profile_if_available: asBool(openclaw.use_openclaw_profile_if_available, DEFAULT_SOCIAL_CONFIG.openclaw.use_openclaw_profile_if_available),
253
- },
254
- };
255
- }
256
- function getDefaultSocialConfig() {
257
- return JSON.parse(JSON.stringify(DEFAULT_SOCIAL_CONFIG));
258
- }
259
- function generateDefaultSocialMdTemplate(options = {}) {
260
- const displayName = options.display_name?.trim() || "My OpenClaw Agent";
261
- const bio = options.bio?.trim() || "Local AI agent running on this machine";
262
- const tags = Array.isArray(options.tags) && options.tags.length > 0 ? options.tags : ["openclaw", "local-first"];
263
- const mode = options.mode ?? "lan";
264
- const publicEnabled = typeof options.public_enabled === "boolean" ? options.public_enabled : false;
265
- return `---
266
- enabled: true
267
- public_enabled: ${publicEnabled}
268
-
269
- identity:
270
- display_name: ${JSON.stringify(displayName)}
271
- bio: ${JSON.stringify(bio)}
272
- tags:
273
- ${tags.map((tag) => ` - ${tag}`).join("\n")}
274
-
275
- network:
276
- mode: ${JSON.stringify(mode)}
277
-
278
- openclaw:
279
- bind_existing_identity: true
280
- use_openclaw_profile_if_available: true
281
- ---
282
-
283
- # social.md
284
-
285
- This file configures how OpenClaw integrates with SilicaClaw.
286
- `;
287
- }
@@ -1,46 +0,0 @@
1
- import { AgentIdentity, ProfileInput, PublicProfile } from "./types";
2
- import { DefaultSocialTemplateOptions, SocialConfig, SocialLoadMeta } from "./socialConfig";
3
- export type SocialFileLookup = {
4
- found: boolean;
5
- source_path: string | null;
6
- content: string | null;
7
- };
8
- export type OpenClawIdentityLookup = {
9
- identity: AgentIdentity | null;
10
- source_path: string | null;
11
- };
12
- export type OpenClawProfileLookup = {
13
- profile: Partial<PublicProfile> | null;
14
- source_path: string | null;
15
- };
16
- export type LoadedSocialConfig = {
17
- config: SocialConfig;
18
- meta: SocialLoadMeta;
19
- raw_frontmatter: Record<string, unknown> | null;
20
- };
21
- export type ResolvedIdentityResult = {
22
- identity: AgentIdentity;
23
- source: "silicaclaw-existing" | "openclaw-existing" | "silicaclaw-generated";
24
- openclaw_source_path: string | null;
25
- };
26
- export declare function getSocialConfigSearchPaths(rootDir?: string, homeDir?: string): string[];
27
- export declare function findSocialMd(rootDir?: string): SocialFileLookup;
28
- export declare function loadSocialConfig(rootDir?: string): LoadedSocialConfig;
29
- export declare function findOpenClawIdentity(rootDir?: string, homeDir?: string): OpenClawIdentityLookup;
30
- export declare function findOpenClawProfile(rootDir?: string, homeDir?: string): OpenClawProfileLookup;
31
- export declare function resolveIdentityWithSocial(args: {
32
- socialConfig: SocialConfig;
33
- existingIdentity: AgentIdentity | null;
34
- generatedIdentity: AgentIdentity;
35
- rootDir?: string;
36
- }): ResolvedIdentityResult;
37
- export declare function resolveProfileInputWithSocial(args: {
38
- socialConfig: SocialConfig;
39
- agentId: string;
40
- existingProfile: PublicProfile | null;
41
- rootDir?: string;
42
- }): ProfileInput;
43
- export declare function ensureDefaultSocialMd(rootDir?: string, options?: DefaultSocialTemplateOptions): {
44
- path: string;
45
- created: boolean;
46
- };