wunderland 0.21.0 → 0.23.0

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 (135) hide show
  1. package/README.md +4 -4
  2. package/dist/ai/NaturalLanguageAgentBuilder.d.ts.map +1 -1
  3. package/dist/ai/NaturalLanguageAgentBuilder.js +58 -2
  4. package/dist/ai/NaturalLanguageAgentBuilder.js.map +1 -1
  5. package/dist/api/chat-runtime.d.ts +53 -0
  6. package/dist/api/chat-runtime.d.ts.map +1 -0
  7. package/dist/api/chat-runtime.js +330 -0
  8. package/dist/api/chat-runtime.js.map +1 -0
  9. package/dist/api/index.d.ts +9 -0
  10. package/dist/api/index.d.ts.map +1 -0
  11. package/dist/api/index.js +8 -0
  12. package/dist/api/index.js.map +1 -0
  13. package/dist/api/rate-limiter.d.ts +83 -0
  14. package/dist/api/rate-limiter.d.ts.map +1 -0
  15. package/dist/api/rate-limiter.js +150 -0
  16. package/dist/api/rate-limiter.js.map +1 -0
  17. package/dist/api/server.d.ts +85 -0
  18. package/dist/api/server.d.ts.map +1 -0
  19. package/dist/api/server.js +1487 -0
  20. package/dist/api/server.js.map +1 -0
  21. package/dist/api/types.d.ts +102 -0
  22. package/dist/api/types.d.ts.map +1 -0
  23. package/dist/api/types.js +6 -0
  24. package/dist/api/types.js.map +1 -0
  25. package/dist/authorization/StepUpAuthorizationManager.d.ts +8 -0
  26. package/dist/authorization/StepUpAuthorizationManager.d.ts.map +1 -1
  27. package/dist/authorization/StepUpAuthorizationManager.js +11 -1
  28. package/dist/authorization/StepUpAuthorizationManager.js.map +1 -1
  29. package/dist/cli/commands/channels.js.map +1 -1
  30. package/dist/cli/commands/export-session.d.ts +11 -0
  31. package/dist/cli/commands/export-session.d.ts.map +1 -0
  32. package/dist/cli/commands/export-session.js +264 -0
  33. package/dist/cli/commands/export-session.js.map +1 -0
  34. package/dist/cli/commands/start.d.ts.map +1 -1
  35. package/dist/cli/commands/start.js +33 -9
  36. package/dist/cli/commands/start.js.map +1 -1
  37. package/dist/cli/commands/status.d.ts +7 -0
  38. package/dist/cli/commands/status.d.ts.map +1 -1
  39. package/dist/cli/commands/status.js +54 -1
  40. package/dist/cli/commands/status.js.map +1 -1
  41. package/dist/cli/config/config-validator.d.ts +53 -0
  42. package/dist/cli/config/config-validator.d.ts.map +1 -0
  43. package/dist/cli/config/config-validator.js +242 -0
  44. package/dist/cli/config/config-validator.js.map +1 -0
  45. package/dist/cli/config/index.d.ts +1 -0
  46. package/dist/cli/config/index.d.ts.map +1 -1
  47. package/dist/cli/config/index.js +1 -0
  48. package/dist/cli/config/index.js.map +1 -1
  49. package/dist/cli/constants.d.ts +40 -0
  50. package/dist/cli/constants.d.ts.map +1 -1
  51. package/dist/cli/constants.js +8 -0
  52. package/dist/cli/constants.js.map +1 -1
  53. package/dist/cli/security/runtime-policy.d.ts.map +1 -1
  54. package/dist/cli/security/runtime-policy.js +23 -3
  55. package/dist/cli/security/runtime-policy.js.map +1 -1
  56. package/dist/core/CompactionManager.d.ts +102 -0
  57. package/dist/core/CompactionManager.d.ts.map +1 -0
  58. package/dist/core/CompactionManager.js +234 -0
  59. package/dist/core/CompactionManager.js.map +1 -0
  60. package/dist/core/PluginHooks.d.ts +177 -0
  61. package/dist/core/PluginHooks.d.ts.map +1 -0
  62. package/dist/core/PluginHooks.js +221 -0
  63. package/dist/core/PluginHooks.js.map +1 -0
  64. package/dist/core/PromptBuilder.d.ts +114 -0
  65. package/dist/core/PromptBuilder.d.ts.map +1 -0
  66. package/dist/core/PromptBuilder.js +312 -0
  67. package/dist/core/PromptBuilder.js.map +1 -0
  68. package/dist/core/TokenUsageTracker.d.ts +115 -0
  69. package/dist/core/TokenUsageTracker.d.ts.map +1 -0
  70. package/dist/core/TokenUsageTracker.js +218 -0
  71. package/dist/core/TokenUsageTracker.js.map +1 -0
  72. package/dist/core/index.d.ts +5 -0
  73. package/dist/core/index.d.ts.map +1 -1
  74. package/dist/core/index.js +10 -0
  75. package/dist/core/index.js.map +1 -1
  76. package/dist/core/types.d.ts +6 -3
  77. package/dist/core/types.d.ts.map +1 -1
  78. package/dist/core/types.js +12 -9
  79. package/dist/core/types.js.map +1 -1
  80. package/dist/inference/SmallModelResolver.d.ts.map +1 -1
  81. package/dist/inference/SmallModelResolver.js +23 -1
  82. package/dist/inference/SmallModelResolver.js.map +1 -1
  83. package/dist/rag/QueryExpander.d.ts +91 -0
  84. package/dist/rag/QueryExpander.d.ts.map +1 -0
  85. package/dist/rag/QueryExpander.js +181 -0
  86. package/dist/rag/QueryExpander.js.map +1 -0
  87. package/dist/rag/index.d.ts +2 -0
  88. package/dist/rag/index.d.ts.map +1 -1
  89. package/dist/rag/index.js +2 -0
  90. package/dist/rag/index.js.map +1 -1
  91. package/dist/security/FolderPermissions.d.ts +26 -0
  92. package/dist/security/FolderPermissions.d.ts.map +1 -1
  93. package/dist/security/FolderPermissions.js +39 -0
  94. package/dist/security/FolderPermissions.js.map +1 -1
  95. package/dist/security/PreLLMClassifier.d.ts +10 -0
  96. package/dist/security/PreLLMClassifier.d.ts.map +1 -1
  97. package/dist/security/PreLLMClassifier.js +24 -0
  98. package/dist/security/PreLLMClassifier.js.map +1 -1
  99. package/dist/security/SecurityTiers.js +3 -3
  100. package/dist/security/SecurityTiers.js.map +1 -1
  101. package/dist/security/SignedOutputVerifier.d.ts.map +1 -1
  102. package/dist/security/SignedOutputVerifier.js +13 -6
  103. package/dist/security/SignedOutputVerifier.js.map +1 -1
  104. package/dist/security/ToolLoopDetector.d.ts +122 -0
  105. package/dist/security/ToolLoopDetector.d.ts.map +1 -0
  106. package/dist/security/ToolLoopDetector.js +158 -0
  107. package/dist/security/ToolLoopDetector.js.map +1 -0
  108. package/dist/security/index.d.ts +2 -1
  109. package/dist/security/index.d.ts.map +1 -1
  110. package/dist/security/index.js +3 -1
  111. package/dist/security/index.js.map +1 -1
  112. package/dist/tools/LlmsTxtDiscovery.d.ts +94 -0
  113. package/dist/tools/LlmsTxtDiscovery.d.ts.map +1 -0
  114. package/dist/tools/LlmsTxtDiscovery.js +234 -0
  115. package/dist/tools/LlmsTxtDiscovery.js.map +1 -0
  116. package/dist/tools/MemoryReadTool.d.ts +8 -0
  117. package/dist/tools/MemoryReadTool.d.ts.map +1 -1
  118. package/dist/tools/MemoryReadTool.js +21 -0
  119. package/dist/tools/MemoryReadTool.js.map +1 -1
  120. package/dist/tools/index.d.ts +1 -0
  121. package/dist/tools/index.d.ts.map +1 -1
  122. package/dist/tools/index.js +1 -0
  123. package/dist/tools/index.js.map +1 -1
  124. package/dist/utils/safe-merge.d.ts +50 -0
  125. package/dist/utils/safe-merge.d.ts.map +1 -0
  126. package/dist/utils/safe-merge.js +111 -0
  127. package/dist/utils/safe-merge.js.map +1 -0
  128. package/dist/utils/ssrf-guard.d.ts +67 -0
  129. package/dist/utils/ssrf-guard.d.ts.map +1 -0
  130. package/dist/utils/ssrf-guard.js +241 -0
  131. package/dist/utils/ssrf-guard.js.map +1 -0
  132. package/package.json +5 -1
  133. package/presets/catalog-data.json +44 -12
  134. package/presets/templates/GOALS.md +39 -0
  135. package/presets/templates/SOUVENIR.md +40 -0
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
  <h1 align="center">Wunderland</h1>
8
8
 
9
9
  <p align="center">
10
- Security-hardened AI agent framework &mdash; a fork of <a href="https://github.com/openclaw">OpenClaw</a> with HEXACO personalities, 5-tier prompt-injection defense, 20 channel integrations, and a full CLI.
10
+ Security-hardened AI agent framework &mdash; a fork of <a href="https://github.com/openclaw">OpenClaw</a> with HEXACO personalities, 5-tier prompt-injection defense, 28 channel integrations, and a full CLI.
11
11
  </p>
12
12
 
13
13
  <p align="center">
@@ -62,7 +62,7 @@
62
62
  - **Step-up HITL authorization** -- Tier 1 (autonomous), Tier 2 (async review), Tier 3 (synchronous human approval)
63
63
  - **Social network engine** -- WonderlandNetwork with mood engine, browsing engine, post decision engine, trust engine, alliances, governance, and more
64
64
  - **Agent job marketplace** -- Job evaluation, bidding, execution, quality checking, and deliverable management
65
- - **26-command CLI** -- From `setup` and `chat` to `rag`, `agency`, `workflows`, `evaluate`, `provenance`, `knowledge`, and `marketplace`
65
+ - **28-command CLI** -- From `setup` and `chat` to `rag`, `agency`, `workflows`, `evaluate`, `provenance`, `knowledge`, and `marketplace`
66
66
  - **8 agent presets** -- Pre-configured agent archetypes with recommended extensions, skills, and personalities
67
67
  - **Preset-to-extension auto-mapping** -- Presets automatically load recommended tools, voice providers, and skills
68
68
  - **Schema-on-demand** -- `--lazy-tools` starts with only meta tools, then dynamically loads extension packs as needed
@@ -144,9 +144,9 @@ wunderland doctor
144
144
  - **5-tier security** — prompt-injection defense, dual-LLM auditing, action sandboxing, recursive-error circuit breakers, per-agent cost guards
145
145
  - **HEXACO personalities** — six scientifically-grounded personality dimensions (Honesty-Humility, Emotionality, eXtraversion, Agreeableness, Conscientiousness, Openness) that shape agent behavior
146
146
  - **PAD mood engine** — real-time Pleasure-Arousal-Dominance emotional states that influence decision-making
147
- - **20 channel integrations** — Telegram, Discord, Slack, WhatsApp, WebChat, Signal, iMessage, Google Chat, Teams, Matrix, Zalo, Email, SMS, Nostr, Twitch, LINE, Feishu, Mattermost, Nextcloud Talk, Tlon
147
+ - **28 channel integrations** — Telegram, WhatsApp, Discord, Slack, WebChat, Signal, iMessage, Google Chat, Teams, Matrix, Zalo, Zalo Personal, Email, SMS, IRC, Nostr, Twitch, LINE, Feishu, Mattermost, Nextcloud Talk, Tlon, Twitter / X, Instagram, Reddit, YouTube, Pinterest, TikTok
148
148
  - **18 curated skills** — pre-built capability packs agents can load on demand
149
- - **Full CLI** — 17 commands for setup, deployment, management, and debugging
149
+ - **Full CLI** — 28 commands for setup, deployment, management, and debugging
150
150
 
151
151
  **[Wunderland ON SOL](https://wunderland.sh)** is the decentralized agentic social network on Solana where agents have on-chain identity, create verifiable content (SHA-256 hash commitments on Solana, bytes on IPFS), vote, and build reputation autonomously.
152
152
 
@@ -1 +1 @@
1
- {"version":3,"file":"NaturalLanguageAgentBuilder.d.ts","sourceRoot":"","sources":["../../src/ai/NaturalLanguageAgentBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAMtE;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAC7B,gBAAgB,GAChB,iBAAiB,GACjB,iBAAiB,GACjB,WAAW,GACX,cAAc,CAAC;AAEnB;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,WAAW,GAAG,iBAAiB,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IAEnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,WAAW,CAAC,EAAE;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAGF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE;QACX,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAGpB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;IAC1C,aAAa,CAAC,EAAE,aAAa,CAAC;IAG9B,WAAW,CAAC,EAAE;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAGF,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAyGD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,cAAc,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAC9C,WAAW,CAAC,EAAE,SAAS,GAAG,aAAa,GACtC,OAAO,CAAC,oBAAoB,CAAC,CAyG/B;AAuCD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAyB9E"}
1
+ {"version":3,"file":"NaturalLanguageAgentBuilder.d.ts","sourceRoot":"","sources":["../../src/ai/NaturalLanguageAgentBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAMtE;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAC7B,gBAAgB,GAChB,iBAAiB,GACjB,iBAAiB,GACjB,WAAW,GACX,cAAc,CAAC;AAEnB;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,WAAW,GAAG,iBAAiB,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IAEnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,WAAW,CAAC,EAAE;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAGF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE;QACX,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAGpB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;IAC1C,aAAa,CAAC,EAAE,aAAa,CAAC;IAG9B,WAAW,CAAC,EAAE;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAGF,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAyGD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,cAAc,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAC9C,WAAW,CAAC,EAAE,SAAS,GAAG,aAAa,GACtC,OAAO,CAAC,oBAAoB,CAAC,CAqK/B;AAuCD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAyB9E"}
@@ -33,8 +33,8 @@ web-search, weather, summarize, github, coding-agent, git, slack-helper, discord
33
33
  **Available tools:**
34
34
  web-search, web-browser, cli-executor, giphy, image-search, voice-synthesis, news-search
35
35
 
36
- **Available channels (20 platforms):**
37
- telegram, whatsapp, discord, slack, webchat, signal, imessage, google-chat, teams, matrix, zalo, email, sms, nostr, twitch, line, feishu, mattermost, nextcloud-talk, tlon
36
+ **Available channels (28 platforms):**
37
+ telegram, whatsapp, discord, slack, webchat, signal, imessage, google-chat, teams, matrix, zalo, email, sms, nostr, twitch, line, feishu, mattermost, nextcloud-talk, tlon, irc, zalouser, reddit, twitter, instagram, tiktok, youtube, pinterest
38
38
 
39
39
  **Security tiers:**
40
40
  - dangerous: All protections OFF (testing only)
@@ -202,6 +202,62 @@ export async function extractAgentConfig(description, llmInvoker, existingConfig
202
202
  console.warn(`Invalid tool access profile "${extracted.toolAccessProfile}", defaulting to assistant`);
203
203
  extracted.toolAccessProfile = 'assistant';
204
204
  }
205
+ // Validate channel platforms (best-effort)
206
+ const validChannels = new Set([
207
+ 'telegram',
208
+ 'whatsapp',
209
+ 'discord',
210
+ 'slack',
211
+ 'webchat',
212
+ 'signal',
213
+ 'imessage',
214
+ 'google-chat',
215
+ 'teams',
216
+ 'matrix',
217
+ 'zalo',
218
+ 'email',
219
+ 'sms',
220
+ 'nostr',
221
+ 'twitch',
222
+ 'line',
223
+ 'feishu',
224
+ 'mattermost',
225
+ 'nextcloud-talk',
226
+ 'tlon',
227
+ 'irc',
228
+ 'zalouser',
229
+ 'reddit',
230
+ 'twitter',
231
+ 'instagram',
232
+ 'tiktok',
233
+ 'youtube',
234
+ 'pinterest',
235
+ ]);
236
+ const channelAliases = {
237
+ x: 'twitter',
238
+ 'twitter/x': 'twitter',
239
+ 'zalo-personal': 'zalouser',
240
+ zalo_personal: 'zalouser',
241
+ 'zalo personal': 'zalouser',
242
+ nextcloud: 'nextcloud-talk',
243
+ 'nextcloud talk': 'nextcloud-talk',
244
+ 'google chat': 'google-chat',
245
+ 'ms teams': 'teams',
246
+ 'microsoft teams': 'teams',
247
+ };
248
+ if (Array.isArray(extracted.channels)) {
249
+ const raw = extracted.channels;
250
+ const normalized = raw
251
+ .map((v) => String(v ?? '').trim().toLowerCase())
252
+ .filter(Boolean)
253
+ .map((v) => channelAliases[v] ?? v);
254
+ const invalid = normalized.filter((c) => !validChannels.has(c));
255
+ const filtered = normalized.filter((c) => validChannels.has(c));
256
+ if (invalid.length > 0) {
257
+ console.warn(`Invalid channels [${invalid.join(', ')}], ignoring`);
258
+ }
259
+ extracted.channels = filtered.length > 0 ? filtered : undefined;
260
+ }
205
261
  // Generate seedId from displayName if not provided
206
262
  if (extracted.displayName && !extracted.seedId) {
207
263
  extracted.seedId = `seed_${extracted.displayName
@@ -1 +1 @@
1
- {"version":3,"file":"NaturalLanguageAgentBuilder.js","sourceRoot":"","sources":["../../src/ai/NaturalLanguageAgentBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NaturalLanguageAgentBuilder.js","sourceRoot":"","sources":["../../src/ai/NaturalLanguageAgentBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * @fileoverview High-level in-process chat runtime for Wunderland.
3
+ * @module wunderland/api/chat-runtime
4
+ *
5
+ * This is the programmatic counterpart to `wunderland chat`:
6
+ * - Loads tools from extension packs (optional)
7
+ * - Applies permission-set + tool-access-profile filtering
8
+ * - Runs the OpenAI/Anthropic tool-calling loop with guardrails
9
+ *
10
+ * It intentionally does NOT start an HTTP server. Use `wunderland start` when you
11
+ * want the full server + HITL UI + channel runtime.
12
+ */
13
+ import { type NormalizedRuntimePolicy } from '../cli/security/runtime-policy.js';
14
+ import { type ToolInstance } from '../cli/openai/tool-calling.js';
15
+ import type { WunderlandAgentConfig, WunderlandLLMConfig, WunderlandWorkspace } from './types.js';
16
+ type LoggerLike = {
17
+ debug?: (msg: string, meta?: unknown) => void;
18
+ info?: (msg: string, meta?: unknown) => void;
19
+ warn?: (msg: string, meta?: unknown) => void;
20
+ error?: (msg: string, meta?: unknown) => void;
21
+ };
22
+ export type WunderlandChatRuntime = {
23
+ readonly policy: NormalizedRuntimePolicy;
24
+ readonly toolMap: Map<string, ToolInstance>;
25
+ /** Returns a copy of the current message history for a session. */
26
+ getMessages: (sessionId?: string) => Array<Record<string, unknown>>;
27
+ /** Run one user turn and return the assistant's text reply. */
28
+ runTurn: (input: string, opts?: {
29
+ sessionId?: string;
30
+ onToolCall?: (tool: ToolInstance, args: Record<string, unknown>) => void;
31
+ }) => Promise<string>;
32
+ };
33
+ export declare function createWunderlandChatRuntime(opts: {
34
+ agentConfig?: WunderlandAgentConfig;
35
+ llm: WunderlandLLMConfig;
36
+ workspace?: Partial<WunderlandWorkspace>;
37
+ workingDirectory?: string;
38
+ /**
39
+ * When true, bypasses Tier-3 approvals (fully autonomous). Still enforces:
40
+ * - permission sets
41
+ * - tool access profiles
42
+ * - SafeGuardrails validation
43
+ */
44
+ autoApproveToolCalls?: boolean;
45
+ /**
46
+ * Required unless `autoApproveToolCalls` is true or the config's `executionMode`
47
+ * is `autonomous`.
48
+ */
49
+ askPermission?: (tool: ToolInstance, args: Record<string, unknown>) => Promise<boolean>;
50
+ logger?: LoggerLike;
51
+ }): Promise<WunderlandChatRuntime>;
52
+ export {};
53
+ //# sourceMappingURL=chat-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-runtime.d.ts","sourceRoot":"","sources":["../../src/api/chat-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAStF,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAElG,KAAK,UAAU,GAAG;IAChB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC5C,mEAAmE;IACnE,WAAW,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACpE,+DAA+D;IAC/D,OAAO,EAAE,CACP,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE;QACL,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;KAC1E,KACE,OAAO,CAAC,MAAM,CAAC,CAAC;CACtB,CAAC;AAkQF,wBAAsB,2BAA2B,CAAC,IAAI,EAAE;IACtD,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,GAAG,EAAE,mBAAmB,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACxF,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAgHjC"}
@@ -0,0 +1,330 @@
1
+ /**
2
+ * @fileoverview High-level in-process chat runtime for Wunderland.
3
+ * @module wunderland/api/chat-runtime
4
+ *
5
+ * This is the programmatic counterpart to `wunderland chat`:
6
+ * - Loads tools from extension packs (optional)
7
+ * - Applies permission-set + tool-access-profile filtering
8
+ * - Runs the OpenAI/Anthropic tool-calling loop with guardrails
9
+ *
10
+ * It intentionally does NOT start an HTTP server. Use `wunderland start` when you
11
+ * want the full server + HITL UI + channel runtime.
12
+ */
13
+ import { filterToolMapByPolicy, getPermissionsForSet, normalizeRuntimePolicy, } from '../cli/security/runtime-policy.js';
14
+ import { createEnvSecretResolver } from '../cli/security/env-secrets.js';
15
+ import { createSchemaOnDemandTools } from '../cli/openai/schema-on-demand.js';
16
+ import { runToolCallingTurn } from '../cli/openai/tool-calling.js';
17
+ import { resolveAgentWorkspaceBaseDir, sanitizeAgentWorkspaceId } from '../cli/config/workspace.js';
18
+ import { createWunderlandSeed, DEFAULT_INFERENCE_HIERARCHY, DEFAULT_SECURITY_PROFILE, DEFAULT_STEP_UP_AUTH_CONFIG, } from '../core/index.js';
19
+ import { resolveExtensionsByNames } from '../core/PresetExtensionResolver.js';
20
+ function consoleLogger() {
21
+ return {
22
+ debug: (msg, meta) => console.debug(msg, meta ?? ''),
23
+ info: (msg, meta) => console.log(msg, meta ?? ''),
24
+ warn: (msg, meta) => console.warn(msg, meta ?? ''),
25
+ error: (msg, meta) => console.error(msg, meta ?? ''),
26
+ };
27
+ }
28
+ function inferTurnApprovalMode(cfg) {
29
+ const raw = cfg?.hitl && typeof cfg.hitl === 'object' && !Array.isArray(cfg.hitl)
30
+ ? cfg.hitl.turnApprovalMode ?? cfg.hitl.turnApproval
31
+ : undefined;
32
+ const v = typeof raw === 'string' ? raw.trim().toLowerCase() : '';
33
+ if (v === 'after-each-turn')
34
+ return 'after-each-turn';
35
+ if (v === 'after-each-round')
36
+ return 'after-each-round';
37
+ return 'off';
38
+ }
39
+ function finiteNumber(value, fallback) {
40
+ return typeof value === 'number' && Number.isFinite(value) ? value : fallback;
41
+ }
42
+ function buildSeedFromAgentConfig(cfg, workspaceSeedId) {
43
+ const seedId = typeof cfg.seedId === 'string' && cfg.seedId.trim() ? cfg.seedId.trim() : workspaceSeedId;
44
+ const displayName = typeof cfg.displayName === 'string' && cfg.displayName.trim()
45
+ ? cfg.displayName.trim()
46
+ : seedId;
47
+ const bio = typeof cfg.bio === 'string' && cfg.bio.trim() ? cfg.bio.trim() : 'Autonomous Wunderbot';
48
+ const p = cfg.personality || {};
49
+ return createWunderlandSeed({
50
+ seedId,
51
+ name: displayName,
52
+ description: bio,
53
+ hexacoTraits: {
54
+ honesty_humility: finiteNumber(p.honesty, 0.8),
55
+ emotionality: finiteNumber(p.emotionality, 0.5),
56
+ extraversion: finiteNumber(p.extraversion, 0.6),
57
+ agreeableness: finiteNumber(p.agreeableness, 0.7),
58
+ conscientiousness: finiteNumber(p.conscientiousness, 0.8),
59
+ openness: finiteNumber(p.openness, 0.7),
60
+ },
61
+ baseSystemPrompt: typeof cfg.systemPrompt === 'string' ? cfg.systemPrompt : undefined,
62
+ securityProfile: DEFAULT_SECURITY_PROFILE,
63
+ inferenceHierarchy: DEFAULT_INFERENCE_HIERARCHY,
64
+ stepUpAuthConfig: DEFAULT_STEP_UP_AUTH_CONFIG,
65
+ });
66
+ }
67
+ async function loadToolMapFromAgentConfig(opts) {
68
+ const { agentConfig: cfg, policy, workspace, workingDirectory, dangerouslySkipCommandSafety, logger } = opts;
69
+ const permissions = getPermissionsForSet(policy.permissionSet);
70
+ const lazyTools = cfg?.lazyTools === true;
71
+ const toolMap = new Map();
72
+ const preloadedPackages = [];
73
+ if (!lazyTools) {
74
+ const extensionsFromConfig = cfg.extensions;
75
+ let toolExtensions = [];
76
+ let voiceExtensions = [];
77
+ let productivityExtensions = [];
78
+ if (extensionsFromConfig) {
79
+ toolExtensions = extensionsFromConfig.tools || [];
80
+ voiceExtensions = extensionsFromConfig.voice || [];
81
+ productivityExtensions = extensionsFromConfig.productivity || [];
82
+ }
83
+ else {
84
+ toolExtensions = ['cli-executor', 'web-search', 'web-browser', 'giphy', 'image-search', 'news-search'];
85
+ voiceExtensions = ['voice-synthesis'];
86
+ productivityExtensions = [];
87
+ }
88
+ try {
89
+ const configOverrides = cfg?.extensionOverrides && typeof cfg.extensionOverrides === 'object' && !Array.isArray(cfg.extensionOverrides)
90
+ ? cfg.extensionOverrides
91
+ : {};
92
+ const runtimeOverrides = {
93
+ 'cli-executor': {
94
+ options: {
95
+ filesystem: { allowRead: permissions.filesystem.read, allowWrite: permissions.filesystem.write },
96
+ agentWorkspace: {
97
+ agentId: sanitizeAgentWorkspaceId(workspace.agentId),
98
+ baseDir: workspace.baseDir,
99
+ createIfMissing: true,
100
+ subdirs: ['assets', 'exports', 'tmp'],
101
+ },
102
+ dangerouslySkipSecurityChecks: dangerouslySkipCommandSafety,
103
+ },
104
+ },
105
+ 'web-search': {
106
+ options: {
107
+ serperApiKey: process.env['SERPER_API_KEY'],
108
+ serpApiKey: process.env['SERPAPI_API_KEY'],
109
+ braveApiKey: process.env['BRAVE_API_KEY'],
110
+ },
111
+ },
112
+ 'web-browser': {
113
+ options: {
114
+ headless: true,
115
+ executablePath: process.env['PUPPETEER_EXECUTABLE_PATH'] ||
116
+ process.env['CHROME_EXECUTABLE_PATH'] ||
117
+ process.env['CHROME_PATH'],
118
+ },
119
+ },
120
+ giphy: { options: { giphyApiKey: process.env['GIPHY_API_KEY'] } },
121
+ 'image-search': {
122
+ options: {
123
+ pexelsApiKey: process.env['PEXELS_API_KEY'],
124
+ unsplashApiKey: process.env['UNSPLASH_ACCESS_KEY'],
125
+ pixabayApiKey: process.env['PIXABAY_API_KEY'],
126
+ },
127
+ },
128
+ 'voice-synthesis': { options: { elevenLabsApiKey: process.env['ELEVENLABS_API_KEY'] } },
129
+ 'news-search': { options: { newsApiKey: process.env['NEWSAPI_API_KEY'] } },
130
+ };
131
+ function mergeOverride(base, extra) {
132
+ const out = { ...(base || {}), ...(extra || {}) };
133
+ if ((base && base.options) || (extra && extra.options)) {
134
+ out.options = { ...(base?.options || {}), ...(extra?.options || {}) };
135
+ }
136
+ return out;
137
+ }
138
+ const mergedOverrides = { ...configOverrides };
139
+ for (const [name, override] of Object.entries(runtimeOverrides)) {
140
+ mergedOverrides[name] = mergeOverride(configOverrides[name], override);
141
+ }
142
+ const cfgSecrets = cfg?.secrets && typeof cfg.secrets === 'object' && !Array.isArray(cfg.secrets)
143
+ ? cfg.secrets
144
+ : undefined;
145
+ const getSecret = createEnvSecretResolver({ configSecrets: cfgSecrets });
146
+ const secrets = new Proxy({}, {
147
+ get: (_target, prop) => (typeof prop === 'string' ? getSecret(prop) : undefined),
148
+ });
149
+ const channelsFromConfig = Array.isArray(cfg?.channels)
150
+ ? cfg.channels
151
+ : Array.isArray(cfg?.suggestedChannels)
152
+ ? cfg.suggestedChannels
153
+ : [];
154
+ const channelsToLoad = Array.from(new Set(channelsFromConfig.map((v) => String(v ?? '').trim()).filter((v) => v.length > 0)));
155
+ const CLI_REQUIRED_CHANNELS = new Set(['signal', 'zalouser']);
156
+ const allowedChannels = permissions.network.externalApis === true
157
+ ? channelsToLoad.filter((platform) => !CLI_REQUIRED_CHANNELS.has(platform) || permissions.system.cliExecution === true)
158
+ : [];
159
+ const resolved = await resolveExtensionsByNames(toolExtensions, voiceExtensions, productivityExtensions, mergedOverrides, { secrets: secrets, channels: allowedChannels.length > 0 ? allowedChannels : 'none' });
160
+ const packs = [];
161
+ for (const packEntry of resolved.manifest.packs) {
162
+ try {
163
+ if (packEntry?.enabled === false)
164
+ continue;
165
+ if (typeof packEntry?.factory === 'function') {
166
+ const pack = await packEntry.factory();
167
+ if (pack) {
168
+ packs.push(pack);
169
+ if (typeof pack?.name === 'string')
170
+ preloadedPackages.push(pack.name);
171
+ }
172
+ continue;
173
+ }
174
+ let packageName;
175
+ if ('package' in packEntry)
176
+ packageName = packEntry.package;
177
+ else if ('module' in packEntry)
178
+ packageName = packEntry.module;
179
+ if (!packageName)
180
+ continue;
181
+ const extModule = await import(packageName);
182
+ const factory = extModule.createExtensionPack ?? extModule.default?.createExtensionPack ?? extModule.default;
183
+ if (typeof factory !== 'function')
184
+ continue;
185
+ const options = packEntry.options || {};
186
+ const pack = await factory({ options, logger: console, getSecret });
187
+ packs.push(pack);
188
+ if (typeof pack?.name === 'string')
189
+ preloadedPackages.push(pack.name);
190
+ }
191
+ catch (err) {
192
+ logger.warn?.('[wunderland/api] Failed to load extension pack', {
193
+ error: err instanceof Error ? err.message : String(err),
194
+ });
195
+ }
196
+ }
197
+ await Promise.all(packs
198
+ .map((p) => typeof p?.onActivate === 'function' ? p.onActivate({ logger: console, getSecret }) : null)
199
+ .filter(Boolean));
200
+ const tools = packs
201
+ .flatMap((p) => (p?.descriptors || []).filter((d) => d?.kind === 'tool').map((d) => d.payload))
202
+ .filter(Boolean);
203
+ for (const tool of tools) {
204
+ if (!tool?.name)
205
+ continue;
206
+ toolMap.set(tool.name, tool);
207
+ }
208
+ }
209
+ catch (err) {
210
+ logger.warn?.('[wunderland/api] Extension loading failed (continuing with meta tools only)', {
211
+ error: err instanceof Error ? err.message : String(err),
212
+ });
213
+ }
214
+ }
215
+ // Schema-on-demand meta tools are always present (even in lazy-tools mode).
216
+ for (const metaTool of createSchemaOnDemandTools({
217
+ toolMap,
218
+ runtimeDefaults: {
219
+ workingDirectory,
220
+ headlessBrowser: true,
221
+ dangerouslySkipCommandSafety,
222
+ agentWorkspace: { agentId: sanitizeAgentWorkspaceId(workspace.agentId), baseDir: workspace.baseDir },
223
+ },
224
+ initialEnabledPackages: preloadedPackages,
225
+ allowPackages: true,
226
+ logger: console,
227
+ })) {
228
+ toolMap.set(metaTool.name, metaTool);
229
+ }
230
+ // Enforce policy (tool access profile + permission set).
231
+ const filtered = filterToolMapByPolicy({ toolMap, toolAccessProfile: policy.toolAccessProfile, permissions });
232
+ return { toolMap: filtered.toolMap, preloadedPackages };
233
+ }
234
+ export async function createWunderlandChatRuntime(opts) {
235
+ const baseLogger = consoleLogger();
236
+ const logger = {
237
+ debug: opts.logger?.debug ?? baseLogger.debug,
238
+ info: opts.logger?.info ?? baseLogger.info,
239
+ warn: opts.logger?.warn ?? baseLogger.warn,
240
+ error: opts.logger?.error ?? baseLogger.error,
241
+ };
242
+ const agentConfig = opts.agentConfig ?? {};
243
+ const policy = normalizeRuntimePolicy(agentConfig);
244
+ const turnApprovalMode = inferTurnApprovalMode(agentConfig);
245
+ const seedIdForWorkspace = typeof agentConfig.seedId === 'string' && agentConfig.seedId.trim()
246
+ ? agentConfig.seedId.trim()
247
+ : `seed_${Date.now()}`;
248
+ const workspace = {
249
+ agentId: sanitizeAgentWorkspaceId(opts.workspace?.agentId ?? seedIdForWorkspace),
250
+ baseDir: opts.workspace?.baseDir ?? resolveAgentWorkspaceBaseDir(),
251
+ };
252
+ const seed = buildSeedFromAgentConfig(agentConfig, seedIdForWorkspace);
253
+ const dangerouslySkipCommandSafety = false;
254
+ const workingDirectory = opts.workingDirectory ?? process.cwd();
255
+ const { toolMap } = await loadToolMapFromAgentConfig({
256
+ agentConfig,
257
+ policy,
258
+ workspace,
259
+ workingDirectory,
260
+ dangerouslySkipCommandSafety,
261
+ logger,
262
+ });
263
+ const systemPrompt = [
264
+ typeof seed.baseSystemPrompt === 'string' ? seed.baseSystemPrompt : String(seed.baseSystemPrompt),
265
+ 'You are a Wunderland in-process agent runtime.',
266
+ `Execution mode: ${policy.executionMode}. Permission set: ${policy.permissionSet}. Tool access profile: ${policy.toolAccessProfile}.`,
267
+ agentConfig.lazyTools === true
268
+ ? 'Use extensions_list + extensions_enable to load tools on demand (schema-on-demand).'
269
+ : 'Tools are preloaded, and you can also use extensions_enable to load additional packs on demand.',
270
+ 'When you need up-to-date information, use web_search and/or browser_* tools (enable them first if missing).',
271
+ turnApprovalMode !== 'off' ? `Turn checkpoints: ${turnApprovalMode}.` : '',
272
+ ]
273
+ .filter(Boolean)
274
+ .join('\n\n');
275
+ const sessions = new Map();
276
+ const autoApprove = opts.autoApproveToolCalls === true || policy.executionMode === 'autonomous';
277
+ if (!autoApprove && typeof opts.askPermission !== 'function') {
278
+ throw new Error('createWunderlandChatRuntime: askPermission is required unless autoApproveToolCalls=true or executionMode="autonomous".');
279
+ }
280
+ const askPermission = async (tool, args) => {
281
+ if (autoApprove)
282
+ return true;
283
+ return opts.askPermission(tool, args);
284
+ };
285
+ const toolContext = {
286
+ agentId: workspace.agentId,
287
+ securityTier: policy.securityTier,
288
+ permissionSet: policy.permissionSet,
289
+ toolAccessProfile: policy.toolAccessProfile,
290
+ executionMode: policy.executionMode,
291
+ wrapToolOutputs: policy.wrapToolOutputs,
292
+ ...(policy.folderPermissions ? { folderPermissions: policy.folderPermissions } : null),
293
+ turnApprovalMode,
294
+ agentWorkspace: { agentId: workspace.agentId, baseDir: workspace.baseDir },
295
+ workingDirectory,
296
+ };
297
+ return {
298
+ policy,
299
+ toolMap,
300
+ getMessages: (sessionId) => {
301
+ const key = sessionId && sessionId.trim() ? sessionId.trim() : 'default';
302
+ const msgs = sessions.get(key) ?? [];
303
+ return msgs.map((m) => ({ ...m }));
304
+ },
305
+ runTurn: async (input, runOpts) => {
306
+ const key = runOpts?.sessionId && runOpts.sessionId.trim() ? runOpts.sessionId.trim() : 'default';
307
+ const history = sessions.get(key) ?? [
308
+ { role: 'system', content: systemPrompt },
309
+ ];
310
+ history.push({ role: 'user', content: String(input ?? '') });
311
+ const reply = await runToolCallingTurn({
312
+ providerId: opts.llm.providerId,
313
+ apiKey: opts.llm.apiKey,
314
+ model: opts.llm.model,
315
+ messages: history,
316
+ toolMap,
317
+ toolContext,
318
+ maxRounds: 8,
319
+ dangerouslySkipPermissions: false,
320
+ askPermission,
321
+ onToolCall: runOpts?.onToolCall,
322
+ baseUrl: opts.llm.baseUrl,
323
+ fallback: opts.llm.fallback,
324
+ });
325
+ sessions.set(key, history);
326
+ return reply;
327
+ },
328
+ };
329
+ }
330
+ //# sourceMappingURL=chat-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-runtime.js","sourceRoot":"","sources":["../../src/api/chat-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @fileoverview High-level, ergonomic APIs for Wunderland.
3
+ * @module wunderland/api
4
+ */
5
+ export { createWunderlandChatRuntime, type WunderlandChatRuntime } from './chat-runtime.js';
6
+ export { createWunderlandServer, type WunderlandServerHandle } from './server.js';
7
+ export type { WunderlandAgentConfig, WunderlandExecutionMode, WunderlandLLMConfig, WunderlandProviderId, WunderlandWorkspace, } from './types.js';
8
+ export { RateLimiter, type RateLimiterConfig, type RateLimitResult } from './rate-limiter.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,2BAA2B,EAAE,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAClF,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @fileoverview High-level, ergonomic APIs for Wunderland.
3
+ * @module wunderland/api
4
+ */
5
+ export { createWunderlandChatRuntime } from './chat-runtime.js';
6
+ export { createWunderlandServer } from './server.js';
7
+ export { RateLimiter } from './rate-limiter.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,2BAA2B,EAA8B,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAA+B,MAAM,aAAa,CAAC;AASlF,OAAO,EAAE,WAAW,EAAgD,MAAM,mBAAmB,CAAC"}