synthos 0.9.0 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/default-pages/neon_asteroids/page.html +2 -21
- package/default-pages/oregon_trail/page.html +3 -19
- package/default-pages/solar_explorer/page.html +1 -1
- package/default-pages/western_cities_1850/page.html +2 -2
- package/dist/agents/a2a/a2aProvider.d.ts +3 -0
- package/dist/agents/discovery.d.ts +30 -0
- package/dist/agents/openclaw/openclawProvider.d.ts +3 -0
- package/dist/agents/types.d.ts +64 -0
- package/dist/connectors/index.d.ts +3 -0
- package/dist/connectors/types.d.ts +84 -0
- package/dist/customizer/Customizer.d.ts +5 -0
- package/dist/customizer/Customizer.d.ts.map +1 -1
- package/dist/customizer/Customizer.js +10 -0
- package/dist/customizer/Customizer.js.map +1 -1
- package/dist/customizer/index.d.ts +4 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts +2 -0
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +71 -37
- package/dist/init.js.map +1 -1
- package/dist/migrations.d.ts +12 -0
- package/dist/models/chainOfThought.d.ts +12 -0
- package/dist/models/fireworksai.d.ts +30 -0
- package/dist/models/logCompletePrompt.d.ts +3 -0
- package/dist/models/providers.d.ts +8 -0
- package/dist/models/utils.d.ts +6 -0
- package/dist/pages.d.ts +12 -11
- package/dist/pages.d.ts.map +1 -1
- package/dist/pages.js +94 -66
- package/dist/pages.js.map +1 -1
- package/dist/scripts.d.ts +15 -0
- package/dist/service/createCompletePrompt.d.ts +6 -0
- package/dist/service/createCompletePrompt.d.ts.map +1 -1
- package/dist/service/createCompletePrompt.js +2 -2
- package/dist/service/createCompletePrompt.js.map +1 -1
- package/dist/service/debugLog.d.ts +11 -0
- package/dist/service/generateImage.d.ts +32 -0
- package/dist/service/index.d.ts +8 -0
- package/dist/service/modelInstructions.d.ts +7 -0
- package/dist/service/requiresSettings.d.ts +4 -0
- package/dist/service/requiresSettings.d.ts.map +1 -1
- package/dist/service/requiresSettings.js +3 -3
- package/dist/service/requiresSettings.js.map +1 -1
- package/dist/service/server.d.ts +5 -0
- package/dist/service/useAgentRoutes.js +12 -12
- package/dist/service/useAgentRoutes.js.map +1 -1
- package/dist/service/useApiRoutes.d.ts +5 -0
- package/dist/service/useApiRoutes.d.ts.map +1 -1
- package/dist/service/useApiRoutes.js +74 -60
- package/dist/service/useApiRoutes.js.map +1 -1
- package/dist/service/useConnectorRoutes.d.ts +4 -0
- package/dist/service/useConnectorRoutes.js +11 -11
- package/dist/service/useConnectorRoutes.js.map +1 -1
- package/dist/service/useDataRoutes.d.ts +4 -0
- package/dist/service/useDataRoutes.d.ts.map +1 -1
- package/dist/service/useDataRoutes.js +13 -10
- package/dist/service/useDataRoutes.js.map +1 -1
- package/dist/service/useFileRoutes.d.ts.map +1 -1
- package/dist/service/useFileRoutes.js +13 -13
- package/dist/service/useFileRoutes.js.map +1 -1
- package/dist/service/usePageRoutes.d.ts +6 -0
- package/dist/service/usePageRoutes.d.ts.map +1 -1
- package/dist/service/usePageRoutes.js +54 -38
- package/dist/service/usePageRoutes.js.map +1 -1
- package/dist/service/useSharedDataRoutes.d.ts.map +1 -1
- package/dist/service/useSharedDataRoutes.js +13 -10
- package/dist/service/useSharedDataRoutes.js.map +1 -1
- package/dist/service/useSharedFileRoutes.d.ts.map +1 -1
- package/dist/service/useSharedFileRoutes.js +13 -13
- package/dist/service/useSharedFileRoutes.js.map +1 -1
- package/dist/settings.d.ts +4 -3
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +11 -10
- package/dist/settings.js.map +1 -1
- package/dist/storage/FsStorageProvider.d.ts +25 -0
- package/dist/storage/FsStorageProvider.d.ts.map +1 -0
- package/dist/storage/FsStorageProvider.js +103 -0
- package/dist/storage/FsStorageProvider.js.map +1 -0
- package/dist/storage/StorageProvider.d.ts +31 -0
- package/dist/storage/StorageProvider.d.ts.map +1 -0
- package/dist/storage/StorageProvider.js +3 -0
- package/dist/storage/StorageProvider.js.map +1 -0
- package/dist/storage/index.d.ts +3 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +6 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/synthos-cli.d.ts +2 -0
- package/dist/themes.d.ts.map +1 -1
- package/dist/themes.js +42 -18
- package/dist/themes.js.map +1 -1
- package/package.json +1 -1
- package/src/builders/anthropic.ts +5 -5
- package/src/customizer/Customizer.ts +12 -0
- package/src/index.ts +2 -1
- package/src/init.ts +78 -42
- package/src/models/providers.ts +2 -2
- package/src/pages.ts +98 -67
- package/src/service/createCompletePrompt.ts +3 -2
- package/src/service/requiresSettings.ts +4 -3
- package/src/service/useAgentRoutes.ts +12 -12
- package/src/service/useApiRoutes.ts +76 -61
- package/src/service/useConnectorRoutes.ts +11 -11
- package/src/service/useDataRoutes.ts +13 -10
- package/src/service/useFileRoutes.ts +14 -13
- package/src/service/usePageRoutes.ts +42 -40
- package/src/service/useSharedDataRoutes.ts +13 -10
- package/src/service/useSharedFileRoutes.ts +14 -13
- package/src/settings.ts +12 -10
- package/src/storage/FsStorageProvider.ts +87 -0
- package/src/storage/StorageProvider.ts +34 -0
- package/src/storage/index.ts +2 -0
- package/src/themes.ts +44 -18
- package/tests/builders.spec.ts +2 -2
- package/tests/pages.spec.ts +54 -84
- package/tests/providers.spec.ts +1 -1
|
@@ -136,16 +136,7 @@
|
|
|
136
136
|
<p><strong>SynthOS:</strong> <b>NEON ASTEROIDS</b> — Destroy asteroids, dodge saucers, collect power-ups. Controls: <b>WASD/Arrows</b> to move, <b>Space</b> to fire, <b>H</b> for hyperspace, <b>P</b> to pause. Gamepad supported. Up to 4 players in Pass & Play mode.</p>
|
|
137
137
|
<p>Want to build your own retro game? Start from the <a href="/retro_game_starter">Retro Game Starter</a> — it gives you a ready-made canvas, game loop, and input handling so you can jump straight into designing your game.</p>
|
|
138
138
|
</div>
|
|
139
|
-
|
|
140
|
-
<br>• <b>Laser Fire</b> — plays each time you shoot
|
|
141
|
-
<br>• <b>Asteroid Explosion</b> — plays when asteroids are destroyed
|
|
142
|
-
<br>• <b>Ship Thrust</b> — loops while you're thrusting, stops when you release
|
|
143
|
-
<br>• <b>Hyperspace Jump</b> — plays on teleport
|
|
144
|
-
<br>• <b>Power-Up Collect</b> — plays when you pick up any power-up
|
|
145
|
-
<br>• <b>Saucer Alert</b> — plays when an enemy saucer spawns
|
|
146
|
-
<br>• <b>Menu Navigate</b> — plays when moving through menu options
|
|
147
|
-
<br>• <b>Ambient Space</b> — three ambient tracks randomly cycle as background atmosphere during gameplay
|
|
148
|
-
<br><br>All sounds load asynchronously on page load. The ambient soundscape starts when gameplay begins and stops on game over or return to menu. Close the chat panel and start a mission to hear them!</p></div><div class="chat-message"><p><strong>User:</strong> the sound effects aren't playing</p></div><div class="chat-message"><p><strong>SynthOS:</strong> Let me check the sound system. I've added error handling to diagnose the issue. Open your browser's console (F12) and look for messages about sound loading.<br><br>Common issues:<br>• <b>Missing manifest</b> — The effects.json file needs to be uploaded to this page's file storage<br>• <b>Missing audio files</b> — Each sound referenced in effects.json must also be uploaded<br>• <b>Browser autoplay policy</b> — Some browsers block audio until user interaction<br><br>To fix:<br>1. Make sure effects.json is uploaded via the Files API<br>2. Upload all referenced .mp3/.ogg files<br>3. Check the console for specific error messages<br><br>The sound system will now log detailed loading info to help debug!</p></div><div class="chat-message"><p><strong>User:</strong> Fix the JavaScript errors — SyntaxError: Unexpected end of input and TypeError: Cannot read properties of null.</p></div><div class="chat-message"><p><strong>SynthOS:</strong> Found and fixed the bug! The <code>stopAmbient()</code> function was missing its closing brace <code>}</code>, which caused a SyntaxError that prevented the entire game script from parsing. This cascaded into the null reference error in <code>gameLoop()</code>. The game should now load and run correctly.</p></div><div class="chat-message"><p><strong>User:</strong> Fix the JavaScript error: SyntaxError: Identifier 'sfx' has already been declared</p></div><div class="chat-message"><p><strong>SynthOS:</strong> Fixed! The issue was that the inline game script used <code>const</code> and <code>let</code> for top-level variable declarations. Since <code>retro-game.js</code> (the library) likely declares some of the same identifiers, using <code>const</code>/<code>let</code> causes a "already been declared" error because they don't allow redeclaration in the same scope. I've changed all top-level <code>const</code> and <code>let</code> declarations to <code>var</code>, which allows redeclaration without errors. The game should now load and run correctly.</p></div><div class="save-line" data-locked="true"><span class="save-line-label">Saved</span></div></div>
|
|
139
|
+
</div>
|
|
149
140
|
|
|
150
141
|
<form action="/" method="POST" id="chatForm" data-locked="true">
|
|
151
142
|
<textarea class="chat-input" id="chatInput" name="message" rows="2" placeholder="Type a message..." data-locked="true"></textarea>
|
|
@@ -246,17 +237,7 @@
|
|
|
246
237
|
</div>
|
|
247
238
|
</div>
|
|
248
239
|
<div id="instructions" style="display: none;" data-locked="true"></div>
|
|
249
|
-
<div id="thoughts" style="display: none;" data-locked="true">
|
|
250
|
-
1. The retro-game.js library is loaded via `<script src="/static/retro-game.js">` (node 211)
|
|
251
|
-
2. The inline script (node 212) declares `const sfx = RetroGame.createSoundEffects();`
|
|
252
|
-
|
|
253
|
-
The retro-game.js library likely also declares or exports an `sfx` variable, OR there's a duplicate declaration somewhere. Since the error is at position 1:27863 which is a very high column number, it's likely in the inline script block.
|
|
254
|
-
|
|
255
|
-
Actually, looking more carefully - the issue is that `retro-game.js` (the library) probably injects or declares `sfx` as well. Or perhaps the page was saved with duplicate script blocks.
|
|
256
|
-
|
|
257
|
-
The fix: Change `const sfx` to `var sfx` so it can be redeclared, or wrap the sound effects code to avoid the conflict. Actually, the better approach is to check if there's a duplicate. Since I can only see one inline script block (node 212), the conflict must be with something in retro-game.js.
|
|
258
|
-
|
|
259
|
-
Let me change `const sfx` to use a different variable name or use `var` instead, and also change all other `const` declarations at the top level to `var` to avoid similar issues if the script somehow gets evaluated twice. Actually, the simplest fix is to just use `var` for the sfx declaration since `var` allows redeclaration in the same scope.</script></div>
|
|
240
|
+
<div id="thoughts" style="display: none;" data-locked="true"></div>
|
|
260
241
|
<script src="/static/retro-game.js"></script>
|
|
261
242
|
<script id="asteroids-game">
|
|
262
243
|
RetroGame.injectCSS();
|
|
@@ -22,31 +22,15 @@
|
|
|
22
22
|
<div class="chat-panel" data-locked="true">
|
|
23
23
|
<div class="chat-header" data-locked="true"><span>Page Builder</span><button class="chat-header-close" id="builderClose" aria-label="Close builder" data-locked="true">×</button></div>
|
|
24
24
|
<div class="chat-messages" id="chatMessages" data-locked="true">
|
|
25
|
-
<div class="chat-message" id="defaultGreeting"><p><strong>SynthOS:</strong>
|
|
26
|
-
|
|
25
|
+
<div class="chat-message" id="defaultGreeting"><p><strong>SynthOS:</strong> Welcome to the <strong>Oregon Trail</strong> — an interactive 1850s map with the Oregon Trail overlaid. Click any trail stop to see historical facts and chat with Dusty, your AI trail guide!</p></div>
|
|
26
|
+
</div>
|
|
27
27
|
<form action="/" method="POST" id="chatForm" data-locked="true">
|
|
28
28
|
<textarea class="chat-input" id="chatInput" name="message" rows="2" placeholder="Type a message..." data-locked="true"></textarea>
|
|
29
29
|
</form>
|
|
30
30
|
</div>
|
|
31
31
|
<div class="viewer-panel" id="viewerPanel"><div id="us-map-container"><div id="us-map-header">United States — Circa 1850 — with Oregon Trail</div><div id="us-map-svg-wrap"><div id="hist-legend"><div style="font-weight:600;margin-bottom:6px;">Circa 1850</div><div class="legend-item"><div class="legend-swatch" style="background:rgba(46,125,50,0.6);border:1px solid #1b5e20;"></div><span>States (31)</span></div><div class="legend-item"><div class="legend-swatch" style="background:rgba(230,81,0,0.55);border:1px solid #bf360c;"></div><span>Oregon Territory</span></div><div class="legend-item"><div class="legend-swatch" style="background:rgba(255,152,0,0.55);border:1px solid #e65100;"></div><span>Minnesota Territory</span></div><div class="legend-item"><div class="legend-swatch" style="background:rgba(255,111,0,0.5);border:1px solid #bf360c;"></div><span>Utah Territory</span></div><div class="legend-item"><div class="legend-swatch" style="background:rgba(239,108,0,0.55);border:1px solid #bf360c;"></div><span>New Mexico Territory</span></div><div class="legend-item"><div class="legend-swatch" style="background:rgba(141,110,99,0.5);border:1px solid #4e342e;"></div><span>Unorganized Territory</span></div><div class="legend-item"><div class="legend-swatch" style="background:rgba(121,85,72,0.55);border:1px solid #3e2723;"></div><span>Indian Territory</span></div><div style="border-top:1px solid var(--border-color);margin-top:6px;padding-top:6px;"></div><div class="legend-item"><div class="legend-swatch" style="background:#d32f2f;border:1px solid #b71c1c;border-radius:50%;"></div><span style="font-weight:600;">Oregon Trail</span></div></div><div id="trail-detail-card"><div class="card-header"><div><h3 id="card-title"></h3><div class="card-subtitle" id="card-subtitle"></div></div><button class="card-close" id="card-close-btn" aria-label="Close">×</button></div><div class="card-tabs"><button class="card-tab active" data-tab="facts"><span class="card-tab-icon">📋</span>Facts</button><button class="card-tab" data-tab="chat"><span class="card-tab-icon">💬</span>Ask Me!</button></div><div class="tab-content"><div class="tab-pane facts-pane active" id="facts-pane"><div id="card-body"></div></div><div class="tab-pane chat-pane" id="chat-pane"><div class="chat-messages-area" id="trail-chat-messages"><div class="chat-welcome"><span class="welcome-emoji">🤠</span>Howdy, explorer! <strong>Click a trail stop</strong> and ask me anything about life on the Oregon Trail!</div></div><div class="suggested-questions" id="trail-suggested-q"></div><div class="chat-input-area"><input type="text" class="chat-input-field" id="trail-chat-input" placeholder="Ask me anything..." autocomplete="off"><button class="chat-send-btn" id="trail-chat-send" aria-label="Send">➤</button></div></div></div></div></div><div id="map-tooltip"></div></div><div id="loadingOverlay" class="loading-overlay"><div class="spinner"></div></div></div>
|
|
32
32
|
<div id="instructions" style="display: none;" data-locked="true"></div>
|
|
33
|
-
<div id="thoughts" style="display: none;" data-locked="true">
|
|
34
|
-
|
|
35
|
-
1. Reorganize the detail card to have tabs or sections - facts + chat
|
|
36
|
-
2. Add a chat input and message area inside the card
|
|
37
|
-
3. Use synthos.generate.completion() to power the AI responses
|
|
38
|
-
4. Track last 10 conversation turns for context
|
|
39
|
-
5. Style it kid-friendly
|
|
40
|
-
6. The card needs to be taller/scrollable to accommodate both facts and chat
|
|
41
|
-
|
|
42
|
-
Plan:
|
|
43
|
-
- Restructure the card to have two tabs: "Facts" and "Ask Me!"
|
|
44
|
-
- The chat tab has a scrollable message area and input
|
|
45
|
-
- Store conversation history per stop (or globally with stop context)
|
|
46
|
-
- Use completion API with a kid-friendly system prompt
|
|
47
|
-
- Track last 10 turns in a JS array
|
|
48
|
-
|
|
49
|
-
I'll update the CSS, the card HTML structure, and the JS to handle all of this.</div>
|
|
33
|
+
<div id="thoughts" style="display: none;" data-locked="true"></div>
|
|
50
34
|
<script id="idle-animation">function hideIdleAnimation(){const idleContainer=document.getElementById("idleAnimation");idleContainer&&(idleContainer.classList.add("hidden"),setTimeout(()=>{idleContainer.style.display="none"},1e3))}function showIdleAnimation(){const idleContainer=document.getElementById("idleAnimation");idleContainer&&(idleContainer.style.display="block",setTimeout(()=>{idleContainer.classList.remove("hidden")},10))}</script>
|
|
51
35
|
<button class="chat-toggle" aria-label="Toggle chat panel">
|
|
52
36
|
<span class="chat-toggle-dots">
|
|
@@ -589,7 +589,7 @@
|
|
|
589
589
|
</div>
|
|
590
590
|
</div></div>
|
|
591
591
|
<div id="instructions" style="display: none;" data-locked="true"></div>
|
|
592
|
-
<div id="thoughts" style="display: none;" data-locked="true"
|
|
592
|
+
<div id="thoughts" style="display: none;" data-locked="true"></div>
|
|
593
593
|
<script id="solar-sim">
|
|
594
594
|
const container = document.getElementById("solarSystem");
|
|
595
595
|
const canvas = document.createElement("canvas");
|
|
@@ -31,13 +31,13 @@
|
|
|
31
31
|
<li><strong>Resource & agriculture map</strong> — Show where key crops, minerals, and natural resources were concentrated</li>
|
|
32
32
|
</ul>
|
|
33
33
|
Just tell me what you'd like to explore!</p></div>
|
|
34
|
-
|
|
34
|
+
</div> <form action="/" method="POST" id="chatForm" data-locked="true">
|
|
35
35
|
<textarea class="chat-input" id="chatInput" name="message" rows="2" placeholder="Type a message..." data-locked="true"></textarea>
|
|
36
36
|
</form>
|
|
37
37
|
</div>
|
|
38
38
|
<div class="viewer-panel full-viewer" id="viewerPanel"><div id="us-map-container"><div id="us-map-header">United States — Circa 1850</div><div id="us-map-svg-wrap"><div id="hist-legend"><div style="font-weight:600;margin-bottom:6px;">Circa 1850</div><div class="legend-item"><div class="legend-swatch" style="background:rgba(46,125,50,0.6);border:1px solid #1b5e20;"></div><span>States (31)</span></div><div class="legend-item"><div class="legend-swatch" style="background:rgba(230,81,0,0.55);border:1px solid #bf360c;"></div><span>Oregon Territory</span></div><div class="legend-item"><div class="legend-swatch" style="background:rgba(255,152,0,0.55);border:1px solid #e65100;"></div><span>Minnesota Territory</span></div><div class="legend-item"><div class="legend-swatch" style="background:rgba(255,111,0,0.5);border:1px solid #bf360c;"></div><span>Utah Territory</span></div><div class="legend-item"><div class="legend-swatch" style="background:rgba(239,108,0,0.55);border:1px solid #bf360c;"></div><span>New Mexico Territory</span></div><div class="legend-item"><div class="legend-swatch" style="background:rgba(141,110,99,0.5);border:1px solid #4e342e;"></div><span>Unorganized Territory</span></div><div class="legend-item"><div class="legend-swatch" style="background:rgba(121,85,72,0.55);border:1px solid #3e2723;"></div><span>Indian Territory</span></div></div><div id="zoom-controls"><button id="zoom-in-btn" title="Zoom in">+</button><button id="zoom-out-btn" title="Zoom out">−</button><button id="zoom-reset-btn" title="Reset view" style="font-size:0.75rem;">⟲</button></div></div><div id="map-tooltip"></div><div id="detail-card"><div class="card-header"><div><h3 id="card-title"></h3><div class="card-subtitle" id="card-subtitle"></div></div><button class="card-close" id="card-close-btn" aria-label="Close">×</button></div><div class="card-tabs"><button class="card-tab active" data-tab="facts"><span class="card-tab-icon">📋</span>Facts</button><button class="card-tab" data-tab="chat"><span class="card-tab-icon">💬</span>Ask Me</button></div><div class="tab-content"><div class="tab-pane facts-pane active" id="facts-pane"><div id="card-body"></div></div><div class="tab-pane chat-pane" id="chat-pane"><div class="chat-messages-area" id="detail-chat-messages"></div><div class="suggested-questions" id="detail-suggested-q"></div><div class="chat-input-area"><input type="text" class="chat-input-field" id="detail-chat-input" placeholder="Ask me anything..." autocomplete="off"><button class="chat-send-btn" id="detail-chat-send" aria-label="Send">➤</button></div></div></div></div><div id="card-backdrop"></div></div><div id="loadingOverlay" class="loading-overlay"><div class="spinner"></div></div></div>
|
|
39
39
|
<div id="instructions" style="display: none;" data-locked="true"></div>
|
|
40
|
-
<div id="thoughts" style="display: none;" data-locked="true"
|
|
40
|
+
<div id="thoughts" style="display: none;" data-locked="true"></div>
|
|
41
41
|
<script id="idle-animation">function hideIdleAnimation(){const idleContainer=document.getElementById("idleAnimation");idleContainer&&(idleContainer.classList.add("hidden"),setTimeout(()=>{idleContainer.style.display="none"},1e3))}function showIdleAnimation(){const idleContainer=document.getElementById("idleAnimation");idleContainer&&(idleContainer.style.display="block",setTimeout(()=>{idleContainer.classList.remove("hidden")},10))}</script>
|
|
42
42
|
<button class="chat-toggle" aria-label="Toggle chat panel">
|
|
43
43
|
<span class="chat-toggle-dots">
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export interface A2ADiscoveryResult {
|
|
2
|
+
name: string;
|
|
3
|
+
description: string;
|
|
4
|
+
url: string;
|
|
5
|
+
iconUrl?: string;
|
|
6
|
+
capabilities?: {
|
|
7
|
+
streaming?: boolean;
|
|
8
|
+
pushNotifications?: boolean;
|
|
9
|
+
};
|
|
10
|
+
skills?: {
|
|
11
|
+
id: string;
|
|
12
|
+
name: string;
|
|
13
|
+
description: string;
|
|
14
|
+
tags: string[];
|
|
15
|
+
}[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Discover an A2A agent by fetching its agent card from /.well-known/agent-card.json.
|
|
19
|
+
*/
|
|
20
|
+
export declare function discoverA2AAgent(url: string): Promise<A2ADiscoveryResult>;
|
|
21
|
+
export interface OpenClawDiscoveryResult {
|
|
22
|
+
name: string;
|
|
23
|
+
verified: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Verify an OpenClaw gateway is reachable and authenticated by probing
|
|
27
|
+
* the HTTP API (GET /v1/models with Bearer token).
|
|
28
|
+
*/
|
|
29
|
+
export declare function discoverOpenClawAgent(url: string, token: string): Promise<OpenClawDiscoveryResult>;
|
|
30
|
+
//# sourceMappingURL=discovery.d.ts.map
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export interface AgentConfig {
|
|
2
|
+
id: string;
|
|
3
|
+
url: string;
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
iconUrl?: string;
|
|
7
|
+
enabled: boolean;
|
|
8
|
+
provider: 'a2a' | 'openclaw';
|
|
9
|
+
/** Auth token (openclaw only) */
|
|
10
|
+
token?: string;
|
|
11
|
+
/** Default session key for chat (openclaw only, e.g. "agent:main:main") */
|
|
12
|
+
sessionKey?: string;
|
|
13
|
+
capabilities?: {
|
|
14
|
+
streaming?: boolean;
|
|
15
|
+
pushNotifications?: boolean;
|
|
16
|
+
};
|
|
17
|
+
skills?: {
|
|
18
|
+
id: string;
|
|
19
|
+
name: string;
|
|
20
|
+
description: string;
|
|
21
|
+
tags: string[];
|
|
22
|
+
}[];
|
|
23
|
+
/** SSH tunnel config (openclaw only) — spawns an SSH tunnel before WebSocket connection */
|
|
24
|
+
sshTunnel?: {
|
|
25
|
+
enabled: boolean;
|
|
26
|
+
/** Full SSH command, e.g. "ssh -p 22 -N -L 18789:127.0.0.1:43901 root@1.2.3.4" */
|
|
27
|
+
command: string;
|
|
28
|
+
/** Password to pipe when prompted */
|
|
29
|
+
password: string;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export interface Attachment {
|
|
33
|
+
fileName: string;
|
|
34
|
+
mimeType: string;
|
|
35
|
+
/** base64 for binary, plain string for text */
|
|
36
|
+
content: string;
|
|
37
|
+
}
|
|
38
|
+
export interface ChatMessage {
|
|
39
|
+
role: 'user' | 'assistant';
|
|
40
|
+
content: string;
|
|
41
|
+
timestamp?: number;
|
|
42
|
+
/** Raw provider-specific payload for debugging */
|
|
43
|
+
raw?: unknown;
|
|
44
|
+
}
|
|
45
|
+
export interface AgentResponse {
|
|
46
|
+
kind: 'message' | 'task';
|
|
47
|
+
text?: string;
|
|
48
|
+
raw: unknown;
|
|
49
|
+
taskId?: string;
|
|
50
|
+
status?: string;
|
|
51
|
+
}
|
|
52
|
+
export interface AgentEvent {
|
|
53
|
+
kind: 'text' | 'status' | 'artifact' | 'done' | 'error';
|
|
54
|
+
data: unknown;
|
|
55
|
+
}
|
|
56
|
+
export interface AgentProvider {
|
|
57
|
+
send(agent: AgentConfig, message: string, attachments?: Attachment[]): Promise<AgentResponse>;
|
|
58
|
+
sendStream(agent: AgentConfig, message: string, attachments?: Attachment[]): AsyncIterable<AgentEvent>;
|
|
59
|
+
supportsStreaming(agent: AgentConfig): boolean;
|
|
60
|
+
getHistory?(agent: AgentConfig): Promise<ChatMessage[]>;
|
|
61
|
+
abortChat?(agent: AgentConfig): Promise<void>;
|
|
62
|
+
clearSession?(agent: AgentConfig): Promise<void>;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { loadConnectorRegistry, getConnectorRegistry } from './registry';
|
|
2
|
+
export type { AuthStrategy, ConnectorField, ConnectorOnboarding, ConnectorJson, ConnectorDefinition, ConnectorConfig, ConnectorOAuthConfig, ConnectorsConfig, ConnectorSummary, ConnectorDetail, ConnectorCallRequest } from './types';
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
export type AuthStrategy = 'header' | 'bearer' | 'query' | 'oauth2';
|
|
2
|
+
export interface ConnectorField {
|
|
3
|
+
name: string;
|
|
4
|
+
label: string;
|
|
5
|
+
type: 'password' | 'text';
|
|
6
|
+
}
|
|
7
|
+
export interface ConnectorOnboarding {
|
|
8
|
+
url: string;
|
|
9
|
+
steps: string[];
|
|
10
|
+
}
|
|
11
|
+
export interface ConnectorDefinition {
|
|
12
|
+
id: string;
|
|
13
|
+
name: string;
|
|
14
|
+
category: string;
|
|
15
|
+
description: string;
|
|
16
|
+
baseUrl: string;
|
|
17
|
+
authStrategy: AuthStrategy;
|
|
18
|
+
authKey: string;
|
|
19
|
+
fields: ConnectorField[];
|
|
20
|
+
/** Usage hints shown to the LLM — recommended endpoints, default settings, gotchas. */
|
|
21
|
+
hints?: string;
|
|
22
|
+
/** Onboarding instructions — signup URL and steps to get an API key. */
|
|
23
|
+
onboarding?: ConnectorOnboarding;
|
|
24
|
+
/** OAuth2: Authorization endpoint URL. */
|
|
25
|
+
authorizationUrl?: string;
|
|
26
|
+
/** OAuth2: Token exchange endpoint URL. */
|
|
27
|
+
tokenUrl?: string;
|
|
28
|
+
/** OAuth2: Requested scopes. */
|
|
29
|
+
scopes?: string[];
|
|
30
|
+
}
|
|
31
|
+
export interface ConnectorJson {
|
|
32
|
+
id: string;
|
|
33
|
+
name: string;
|
|
34
|
+
category: string;
|
|
35
|
+
description: string;
|
|
36
|
+
baseUrl: string;
|
|
37
|
+
authStrategy: AuthStrategy;
|
|
38
|
+
authKey: string;
|
|
39
|
+
fields: ConnectorField[];
|
|
40
|
+
hints?: string[];
|
|
41
|
+
onboarding?: ConnectorOnboarding;
|
|
42
|
+
authorizationUrl?: string;
|
|
43
|
+
tokenUrl?: string;
|
|
44
|
+
scopes?: string[];
|
|
45
|
+
}
|
|
46
|
+
export interface ConnectorConfig {
|
|
47
|
+
apiKey: string;
|
|
48
|
+
enabled: boolean;
|
|
49
|
+
}
|
|
50
|
+
export interface ConnectorOAuthConfig extends ConnectorConfig {
|
|
51
|
+
accessToken?: string;
|
|
52
|
+
refreshToken?: string;
|
|
53
|
+
expiresAt?: number;
|
|
54
|
+
userId?: string;
|
|
55
|
+
accountName?: string;
|
|
56
|
+
clientId?: string;
|
|
57
|
+
clientSecret?: string;
|
|
58
|
+
}
|
|
59
|
+
export type ConnectorsConfig = Record<string, ConnectorConfig | ConnectorOAuthConfig>;
|
|
60
|
+
export interface ConnectorSummary {
|
|
61
|
+
id: string;
|
|
62
|
+
name: string;
|
|
63
|
+
category: string;
|
|
64
|
+
description: string;
|
|
65
|
+
configured: boolean;
|
|
66
|
+
enabled: boolean;
|
|
67
|
+
}
|
|
68
|
+
export interface ConnectorDetail extends ConnectorDefinition {
|
|
69
|
+
configured: boolean;
|
|
70
|
+
enabled: boolean;
|
|
71
|
+
hasKey: boolean;
|
|
72
|
+
connected?: boolean;
|
|
73
|
+
accountName?: string;
|
|
74
|
+
userId?: string;
|
|
75
|
+
}
|
|
76
|
+
export interface ConnectorCallRequest {
|
|
77
|
+
connector: string;
|
|
78
|
+
method: string;
|
|
79
|
+
path: string;
|
|
80
|
+
headers?: Record<string, string>;
|
|
81
|
+
body?: unknown;
|
|
82
|
+
query?: Record<string, string>;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Application } from 'express';
|
|
2
2
|
import { SynthOSConfig } from '../init';
|
|
3
3
|
import { ContextSection } from '../builders/types';
|
|
4
|
+
import { StorageProvider } from '../storage';
|
|
4
5
|
export type RouteInstaller = (config: SynthOSConfig, app: Application) => void;
|
|
5
6
|
export declare class Customizer {
|
|
6
7
|
protected disabled: Set<string>;
|
|
@@ -13,6 +14,10 @@ export declare class Customizer {
|
|
|
13
14
|
protected customTransformInstructions: string[];
|
|
14
15
|
/** Custom context sections appended to the builder's additional sections. */
|
|
15
16
|
protected customContextSections: ContextSection[];
|
|
17
|
+
private _storageProvider?;
|
|
18
|
+
/** Storage provider for user-mutable data (pages, settings, themes, uploads).
|
|
19
|
+
* Override in a derived class to swap the storage backend (e.g. Azure Blob). */
|
|
20
|
+
get storageProvider(): StorageProvider;
|
|
16
21
|
/** Name of the local data folder created in the user's project directory. */
|
|
17
22
|
get localFolder(): string;
|
|
18
23
|
/** Folders containing built-in system pages (builder, settings, etc.) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Customizer.d.ts","sourceRoot":"","sources":["../../src/customizer/Customizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"Customizer.d.ts","sourceRoot":"","sources":["../../src/customizer/Customizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAqB,MAAM,YAAY,CAAC;AAEhE,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;AAE/E,qBAAa,UAAU;IACnB,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IAC5C,SAAS,CAAC,WAAW,EAAE,cAAc,EAAE,CAAM;IAE7C,6EAA6E;IAC7E,SAAS,CAAC,gBAAgB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAM;IAErD,yEAAyE;IACzE,SAAS,CAAC,2BAA2B,EAAE,MAAM,EAAE,CAAM;IAErD,6EAA6E;IAC7E,SAAS,CAAC,qBAAqB,EAAE,cAAc,EAAE,CAAM;IAEvD,OAAO,CAAC,gBAAgB,CAAC,CAAkB;IAE3C;qFACiF;IACjF,IAAI,eAAe,IAAI,eAAe,CAKrC;IAKD,6EAA6E;IAC7E,IAAI,WAAW,IAAI,MAAM,CAExB;IASD,yEAAyE;IACzE,IAAI,oBAAoB,IAAI,MAAM,EAAE,CAEnC;IAED,+DAA+D;IAC/D,IAAI,mBAAmB,IAAI,MAAM,EAAE,CAElC;IAED,8CAA8C;IAC9C,IAAI,oBAAoB,IAAI,MAAM,EAAE,CAEnC;IAED,kFAAkF;IAClF,IAAI,kBAAkB,IAAI,MAAM,EAAE,CAEjC;IAED,oDAAoD;IACpD,IAAI,wBAAwB,IAAI,MAAM,EAAE,CAEvC;IAED,wDAAwD;IACxD,IAAI,qBAAqB,IAAI,MAAM,EAAE,CAEpC;IAED;wFACoF;IACpF,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;0DACsD;IACtD,IAAI,WAAW,IAAI,MAAM,CAExB;IAMD,OAAO,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAKlC,MAAM,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAKjC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAMjC,SAAS,CAAC,GAAG,UAAU,EAAE,CAAC,cAAc,GAAG;QAAE,SAAS,EAAE,cAAc,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,GAAG,IAAI;IAYjG,cAAc,IAAI,cAAc,EAAE;IAMlC,sEAAsE;IACtE,aAAa,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAKvC,kCAAkC;IAClC,aAAa,IAAI,MAAM,EAAE;IAMzB,gEAAgE;IAChE,wBAAwB,CAAC,GAAG,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI;IAKzD,yCAAyC;IACzC,wBAAwB,IAAI,MAAM,EAAE;IAMpC,mDAAmD;IACnD,kBAAkB,CAAC,GAAG,QAAQ,EAAE,cAAc,EAAE,GAAG,IAAI;IAKvD,mCAAmC;IACnC,kBAAkB,IAAI,cAAc,EAAE;CAGzC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Customizer = void 0;
|
|
4
|
+
const storage_1 = require("../storage");
|
|
4
5
|
class Customizer {
|
|
5
6
|
disabled = new Set();
|
|
6
7
|
extraRoutes = [];
|
|
@@ -10,6 +11,15 @@ class Customizer {
|
|
|
10
11
|
customTransformInstructions = [];
|
|
11
12
|
/** Custom context sections appended to the builder's additional sections. */
|
|
12
13
|
customContextSections = [];
|
|
14
|
+
_storageProvider;
|
|
15
|
+
/** Storage provider for user-mutable data (pages, settings, themes, uploads).
|
|
16
|
+
* Override in a derived class to swap the storage backend (e.g. Azure Blob). */
|
|
17
|
+
get storageProvider() {
|
|
18
|
+
if (!this._storageProvider) {
|
|
19
|
+
this._storageProvider = new storage_1.FsStorageProvider();
|
|
20
|
+
}
|
|
21
|
+
return this._storageProvider;
|
|
22
|
+
}
|
|
13
23
|
// --- Local data folder ---
|
|
14
24
|
// Override in a derived class to change the local project folder name.
|
|
15
25
|
/** Name of the local data folder created in the user's project directory. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Customizer.js","sourceRoot":"","sources":["../../src/customizer/Customizer.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Customizer.js","sourceRoot":"","sources":["../../src/customizer/Customizer.ts"],"names":[],"mappings":";;;AAGA,wCAAgE;AAIhE,MAAa,UAAU;IACT,QAAQ,GAAgB,IAAI,GAAG,EAAE,CAAC;IAClC,WAAW,GAAqB,EAAE,CAAC;IAE7C,6EAA6E;IACnE,gBAAgB,GAAwB,EAAE,CAAC;IAErD,yEAAyE;IAC/D,2BAA2B,GAAa,EAAE,CAAC;IAErD,6EAA6E;IACnE,qBAAqB,GAAqB,EAAE,CAAC;IAE/C,gBAAgB,CAAmB;IAE3C;qFACiF;IACjF,IAAI,eAAe;QACf,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACxB,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAiB,EAAE,CAAC;SACnD;QACD,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED,4BAA4B;IAC5B,uEAAuE;IAEvE,6EAA6E;IAC7E,IAAI,WAAW;QACX,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,+BAA+B;IAC/B,qEAAqE;IACrE,oEAAoE;IACpE,uEAAuE;IACvE,sEAAsE;IACtE,uCAAuC;IAEvC,yEAAyE;IACzE,IAAI,oBAAoB;QACpB,OAAO,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,+DAA+D;IAC/D,IAAI,mBAAmB;QACnB,OAAO,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,8CAA8C;IAC9C,IAAI,oBAAoB;QACpB,OAAO,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,kFAAkF;IAClF,IAAI,kBAAkB;QAClB,OAAO,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,oDAAoD;IACpD,IAAI,wBAAwB;QACxB,OAAO,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,wDAAwD;IACxD,IAAI,qBAAqB;QACrB,OAAO,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED;wFACoF;IACpF,IAAI,aAAa;QACb,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;0DACsD;IACtD,IAAI,WAAW;QACX,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,gCAAgC;IAChC,2DAA2D;IAC3D,8CAA8C;IAE9C,OAAO,CAAC,GAAG,MAAgB;QACvB,KAAK,MAAM,CAAC,IAAI,MAAM;YAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,GAAG,MAAgB;QACtB,KAAK,MAAM,CAAC,IAAI,MAAM;YAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,KAAa;QACnB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,wBAAwB;IAExB,SAAS,CAAC,GAAG,UAA6E;QACtF,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE;YAC5B,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;gBAC7B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAChC;iBAAM;gBACH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACvC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;aACtD;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,sBAAsB;IAEtB,sEAAsE;IACtE,aAAa,CAAC,GAAG,KAAe;QAC5B,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kCAAkC;IAClC,aAAa;QACT,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,wCAAwC;IAExC,gEAAgE;IAChE,wBAAwB,CAAC,GAAG,YAAsB;QAC9C,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,yCAAyC;IACzC,wBAAwB;QACpB,OAAO,IAAI,CAAC,2BAA2B,CAAC;IAC5C,CAAC;IAED,kCAAkC;IAElC,mDAAmD;IACnD,kBAAkB,CAAC,GAAG,QAA0B;QAC5C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,mCAAmC;IACnC,kBAAkB;QACd,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACtC,CAAC;CACJ;AA3JD,gCA2JC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './service';
|
|
2
|
+
export * from './files';
|
|
3
|
+
export * from './init';
|
|
4
|
+
export * from './pages';
|
|
5
|
+
export * from './scripts';
|
|
6
|
+
export * from './settings';
|
|
7
|
+
export * from './customizer';
|
|
8
|
+
export * from './storage';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -21,4 +21,5 @@ __exportStar(require("./pages"), exports);
|
|
|
21
21
|
__exportStar(require("./scripts"), exports);
|
|
22
22
|
__exportStar(require("./settings"), exports);
|
|
23
23
|
__exportStar(require("./customizer"), exports);
|
|
24
|
+
__exportStar(require("./storage"), exports);
|
|
24
25
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,0CAAwB;AACxB,yCAAuB;AACvB,0CAAwB;AACxB,4CAA0B;AAC1B,6CAA2B;AAC3B,+CAA6B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,0CAAwB;AACxB,yCAAuB;AACvB,0CAAwB;AACxB,4CAA0B;AAC1B,6CAA2B;AAC3B,+CAA6B;AAC7B,4CAA0B"}
|
package/dist/init.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Customizer } from './customizer';
|
|
2
|
+
import { StorageProvider } from './storage';
|
|
2
3
|
export interface SynthOSConfig {
|
|
3
4
|
localFolder: string;
|
|
4
5
|
pagesFolder: string;
|
|
@@ -9,6 +10,7 @@ export interface SynthOSConfig {
|
|
|
9
10
|
staticFilesFolders: string[];
|
|
10
11
|
serviceConnectorsFolders: string[];
|
|
11
12
|
requiredPages: string[];
|
|
13
|
+
storageProvider: StorageProvider;
|
|
12
14
|
debug: boolean;
|
|
13
15
|
debugPageUpdates: boolean;
|
|
14
16
|
}
|
package/dist/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAqB,MAAM,WAAW,CAAC;AAE/D,MAAM,WAAW,aAAa;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,EAAE,eAAe,CAAC;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAUD,wBAAsB,YAAY,CAC9B,WAAW,SAAa,EACxB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,EACzD,UAAU,CAAC,EAAE,UAAU,GACxB,OAAO,CAAC,aAAa,CAAC,CAmCxB;AAED,wBAAsB,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,mBAAmB,GAAE,OAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAgDvG"}
|