@superblocksteam/vite-plugin-file-sync 2.0.89 → 2.0.90

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 (182) hide show
  1. package/dist/ai-service/agent/prompts/api-prompts.js +1 -1
  2. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts +2 -2
  3. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  4. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +132 -28
  5. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  6. package/dist/ai-service/agent/tool-message-utils.js +1 -1
  7. package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
  8. package/dist/ai-service/agent/tools/apis/test-api.d.ts +44 -0
  9. package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
  10. package/dist/ai-service/agent/tools/apis/test-api.js +226 -92
  11. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
  12. package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts +13 -11
  13. package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts.map +1 -1
  14. package/dist/ai-service/agent/tools/build-capture-screenshot.js +33 -3
  15. package/dist/ai-service/agent/tools/build-capture-screenshot.js.map +1 -1
  16. package/dist/ai-service/agent/tools/build-debug.d.ts.map +1 -1
  17. package/dist/ai-service/agent/tools/build-debug.js +8 -3
  18. package/dist/ai-service/agent/tools/build-debug.js.map +1 -1
  19. package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
  20. package/dist/ai-service/agent/tools/build-edit-file.js +12 -2
  21. package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
  22. package/dist/ai-service/agent/tools/build-list-files.js +1 -1
  23. package/dist/ai-service/agent/tools/build-list-files.js.map +1 -1
  24. package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts.map +1 -1
  25. package/dist/ai-service/agent/tools/build-multi-edit-file.js +6 -1
  26. package/dist/ai-service/agent/tools/build-multi-edit-file.js.map +1 -1
  27. package/dist/ai-service/agent/tools/get-logs.d.ts +1 -1
  28. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  29. package/dist/ai-service/agent/tools.js +5 -1
  30. package/dist/ai-service/agent/tools.js.map +1 -1
  31. package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -1
  32. package/dist/ai-service/agent/tools2/access-control.js +3 -0
  33. package/dist/ai-service/agent/tools2/access-control.js.map +1 -1
  34. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +2 -2
  35. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +3 -3
  36. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
  37. package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts +1 -1
  38. package/dist/ai-service/agent/tools2/tools/grep.d.ts +1 -1
  39. package/dist/ai-service/agent/tools2/tools/index.d.ts +1 -0
  40. package/dist/ai-service/agent/tools2/tools/index.d.ts.map +1 -1
  41. package/dist/ai-service/agent/tools2/tools/index.js +1 -0
  42. package/dist/ai-service/agent/tools2/tools/index.js.map +1 -1
  43. package/dist/ai-service/agent/tools2/tools/remember-facts.d.ts +29 -0
  44. package/dist/ai-service/agent/tools2/tools/remember-facts.d.ts.map +1 -0
  45. package/dist/ai-service/agent/tools2/tools/remember-facts.js +104 -0
  46. package/dist/ai-service/agent/tools2/tools/remember-facts.js.map +1 -0
  47. package/dist/ai-service/agent/tools2/types.d.ts +1 -0
  48. package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
  49. package/dist/ai-service/agent/tools2/types.js +1 -0
  50. package/dist/ai-service/agent/tools2/types.js.map +1 -1
  51. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  52. package/dist/ai-service/agent/utils.js +77 -0
  53. package/dist/ai-service/agent/utils.js.map +1 -1
  54. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts +22 -1
  55. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts.map +1 -1
  56. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js +121 -11
  57. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js.map +1 -1
  58. package/dist/ai-service/app-interface/filesystem/sdk-path-validator.d.ts +1 -1
  59. package/dist/ai-service/app-interface/filesystem/sdk-path-validator.d.ts.map +1 -1
  60. package/dist/ai-service/app-interface/filesystem/sdk-path-validator.js +4 -2
  61. package/dist/ai-service/app-interface/filesystem/sdk-path-validator.js.map +1 -1
  62. package/dist/ai-service/app-interface/filesystem/virtual-file-system.d.ts +2 -0
  63. package/dist/ai-service/app-interface/filesystem/virtual-file-system.d.ts.map +1 -1
  64. package/dist/ai-service/app-interface/filesystem/virtual-file-system.js +28 -3
  65. package/dist/ai-service/app-interface/filesystem/virtual-file-system.js.map +1 -1
  66. package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
  67. package/dist/ai-service/app-interface/shell.js +9 -3
  68. package/dist/ai-service/app-interface/shell.js.map +1 -1
  69. package/dist/ai-service/app-skills/helpers.d.ts +32 -0
  70. package/dist/ai-service/app-skills/helpers.d.ts.map +1 -0
  71. package/dist/ai-service/app-skills/helpers.js +262 -0
  72. package/dist/ai-service/app-skills/helpers.js.map +1 -0
  73. package/dist/ai-service/app-skills/manager.d.ts +60 -0
  74. package/dist/ai-service/app-skills/manager.d.ts.map +1 -0
  75. package/dist/ai-service/app-skills/manager.js +203 -0
  76. package/dist/ai-service/app-skills/manager.js.map +1 -0
  77. package/dist/ai-service/app-skills/parser.d.ts +53 -0
  78. package/dist/ai-service/app-skills/parser.d.ts.map +1 -0
  79. package/dist/ai-service/app-skills/parser.js +82 -0
  80. package/dist/ai-service/app-skills/parser.js.map +1 -0
  81. package/dist/ai-service/attachment-upload.d.ts +24 -0
  82. package/dist/ai-service/attachment-upload.d.ts.map +1 -0
  83. package/dist/ai-service/attachment-upload.js +75 -0
  84. package/dist/ai-service/attachment-upload.js.map +1 -0
  85. package/dist/ai-service/chat/chat-session-store.d.ts +1 -1
  86. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  87. package/dist/ai-service/chat/chat-session-store.js +82 -0
  88. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  89. package/dist/ai-service/facts/helpers.d.ts +8 -1
  90. package/dist/ai-service/facts/helpers.d.ts.map +1 -1
  91. package/dist/ai-service/facts/helpers.js +89 -7
  92. package/dist/ai-service/facts/helpers.js.map +1 -1
  93. package/dist/ai-service/facts/knowledge-manager.d.ts +39 -3
  94. package/dist/ai-service/facts/knowledge-manager.d.ts.map +1 -1
  95. package/dist/ai-service/facts/knowledge-manager.js +108 -27
  96. package/dist/ai-service/facts/knowledge-manager.js.map +1 -1
  97. package/dist/ai-service/features.d.ts +5 -0
  98. package/dist/ai-service/features.d.ts.map +1 -1
  99. package/dist/ai-service/features.js +5 -0
  100. package/dist/ai-service/features.js.map +1 -1
  101. package/dist/ai-service/index.d.ts +20 -0
  102. package/dist/ai-service/index.d.ts.map +1 -1
  103. package/dist/ai-service/index.js +38 -1
  104. package/dist/ai-service/index.js.map +1 -1
  105. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  106. package/dist/ai-service/integrations/store.js +3 -1
  107. package/dist/ai-service/integrations/store.js.map +1 -1
  108. package/dist/ai-service/llm/context-v2/context.d.ts +2 -0
  109. package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
  110. package/dist/ai-service/llm/context-v2/context.js +65 -0
  111. package/dist/ai-service/llm/context-v2/context.js.map +1 -1
  112. package/dist/ai-service/recording/block-traversal.d.ts +30 -0
  113. package/dist/ai-service/recording/block-traversal.d.ts.map +1 -0
  114. package/dist/ai-service/recording/block-traversal.js +118 -0
  115. package/dist/ai-service/recording/block-traversal.js.map +1 -0
  116. package/dist/ai-service/recording/index.d.ts +1 -0
  117. package/dist/ai-service/recording/index.d.ts.map +1 -1
  118. package/dist/ai-service/recording/index.js +2 -0
  119. package/dist/ai-service/recording/index.js.map +1 -1
  120. package/dist/ai-service/recording/snapshot-manager.d.ts +200 -0
  121. package/dist/ai-service/recording/snapshot-manager.d.ts.map +1 -0
  122. package/dist/ai-service/recording/snapshot-manager.js +708 -0
  123. package/dist/ai-service/recording/snapshot-manager.js.map +1 -0
  124. package/dist/ai-service/recording/storage/session-recording-storage.d.ts +5 -1
  125. package/dist/ai-service/recording/storage/session-recording-storage.d.ts.map +1 -1
  126. package/dist/ai-service/recording/storage/session-recording-storage.js +46 -21
  127. package/dist/ai-service/recording/storage/session-recording-storage.js.map +1 -1
  128. package/dist/ai-service/sdk-api-templates.d.ts +2 -0
  129. package/dist/ai-service/sdk-api-templates.d.ts.map +1 -0
  130. package/dist/ai-service/sdk-api-templates.js +2 -0
  131. package/dist/ai-service/sdk-api-templates.js.map +1 -0
  132. package/dist/ai-service/skills/index.d.ts +3 -1
  133. package/dist/ai-service/skills/index.d.ts.map +1 -1
  134. package/dist/ai-service/skills/index.js +5 -2
  135. package/dist/ai-service/skills/index.js.map +1 -1
  136. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
  137. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +4 -4
  138. package/dist/ai-service/state-machine/clark-fsm.d.ts +18 -1
  139. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  140. package/dist/ai-service/state-machine/clark-fsm.js +1 -0
  141. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  142. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  143. package/dist/ai-service/state-machine/handlers/agent-planning.js +93 -11
  144. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  145. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  146. package/dist/ai-service/state-machine/handlers/llm-generating.js +67 -7
  147. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  148. package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
  149. package/dist/ai-service/state-machine/mocks.js +2 -0
  150. package/dist/ai-service/state-machine/mocks.js.map +1 -1
  151. package/dist/ai-service/types.d.ts +3 -0
  152. package/dist/ai-service/types.d.ts.map +1 -1
  153. package/dist/ai-service/types.js.map +1 -1
  154. package/dist/ai-service/util/mode-message.d.ts.map +1 -1
  155. package/dist/ai-service/util/mode-message.js +3 -0
  156. package/dist/ai-service/util/mode-message.js.map +1 -1
  157. package/dist/ai-service/util/rpc-timeout.d.ts +37 -0
  158. package/dist/ai-service/util/rpc-timeout.d.ts.map +1 -0
  159. package/dist/ai-service/util/rpc-timeout.js +58 -0
  160. package/dist/ai-service/util/rpc-timeout.js.map +1 -0
  161. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  162. package/dist/file-sync-vite-plugin.js +72 -21
  163. package/dist/file-sync-vite-plugin.js.map +1 -1
  164. package/dist/file-system-helpers.d.ts +9 -0
  165. package/dist/file-system-helpers.d.ts.map +1 -1
  166. package/dist/file-system-helpers.js +21 -0
  167. package/dist/file-system-helpers.js.map +1 -1
  168. package/dist/injected-index.d.ts.map +1 -1
  169. package/dist/injected-index.js +4 -3
  170. package/dist/injected-index.js.map +1 -1
  171. package/dist/plugin-options.d.ts +2 -0
  172. package/dist/plugin-options.d.ts.map +1 -1
  173. package/dist/plugin-options.js.map +1 -1
  174. package/dist/snapshot-routes.d.ts +17 -0
  175. package/dist/snapshot-routes.d.ts.map +1 -0
  176. package/dist/snapshot-routes.js +247 -0
  177. package/dist/snapshot-routes.js.map +1 -0
  178. package/dist/socket-manager.d.ts +1 -0
  179. package/dist/socket-manager.d.ts.map +1 -1
  180. package/dist/socket-manager.js +34 -0
  181. package/dist/socket-manager.js.map +1 -1
  182. package/package.json +9 -5
@@ -1,15 +1,18 @@
1
1
  import { FactAccessType, FactEntityScope, } from "@superblocksteam/shared";
2
2
  import { getErrorMeta } from "../../util/logger.js";
3
- import { formatSystemPromptFacts, formatUserMessageFacts } from "./helpers.js";
3
+ import { formatSystemPromptFacts, formatUserMessageFacts, generateOnDemandFactsSkillIndex, } from "./helpers.js";
4
4
  const CACHE_TTL_MS = 1 * 60 * 1000; // 1 minute
5
5
  /**
6
6
  * Manages knowledge/facts loading, caching, and tracking for a chat session.
7
7
  * - Caches facts with TTL to reduce RPC calls
8
8
  * - Tracks which facts have been sent to UI to only push net-new knowledge
9
+ * - Provides on-demand fact retrieval for skill-based loading
9
10
  */
10
11
  export class KnowledgeManager {
11
12
  cache = {};
12
13
  sentFactIds = new Set();
14
+ /** Cache of individual facts by ID for on-demand retrieval */
15
+ factById = new Map();
13
16
  isCacheValid(entry) {
14
17
  return Date.now() - entry.timestamp < CACHE_TTL_MS;
15
18
  }
@@ -25,12 +28,44 @@ export class KnowledgeManager {
25
28
  facts,
26
29
  timestamp: Date.now(),
27
30
  };
31
+ // Index facts by ID for on-demand retrieval
32
+ for (const fact of facts) {
33
+ this.factById.set(fact.id, fact);
34
+ }
35
+ }
36
+ /**
37
+ * Get a fact by ID from the cache.
38
+ * Only returns facts that have been previously loaded and cached.
39
+ * Used by SkillFileHandler to serve on-demand fact content.
40
+ */
41
+ getFactById(factId) {
42
+ return this.factById.get(factId);
28
43
  }
44
+ /**
45
+ * Partition facts by access type for separate handling.
46
+ */
47
+ partitionByAccessType(facts) {
48
+ const alwaysInject = [];
49
+ const onDemand = [];
50
+ for (const fact of facts) {
51
+ if (fact.accessType === FactAccessType.ALWAYS_INJECT) {
52
+ alwaysInject.push(fact);
53
+ }
54
+ else if (fact.accessType === FactAccessType.ON_DEMAND) {
55
+ onDemand.push(fact);
56
+ }
57
+ }
58
+ return { alwaysInject, onDemand };
59
+ }
60
+ /**
61
+ * Load all facts for an organization (both ALWAYS_INJECT and ON_DEMAND).
62
+ * Facts are fetched in a single RPC call and partitioned client-side.
63
+ */
29
64
  async loadOrgFacts(rpcClient, organizationId, logger) {
30
65
  const cacheKey = `organization:${organizationId}`;
31
66
  const cached = this.getCached(cacheKey);
32
67
  if (cached) {
33
- return cached;
68
+ return this.partitionByAccessType(cached);
34
69
  }
35
70
  try {
36
71
  const facts = await rpcClient.call(async (client) => {
@@ -38,23 +73,26 @@ export class KnowledgeManager {
38
73
  entityScope: FactEntityScope.ORG,
39
74
  entityId: organizationId,
40
75
  isEnabled: true,
41
- accessType: FactAccessType.ALWAYS_INJECT,
42
76
  });
43
77
  return data?.facts ?? [];
44
78
  });
45
79
  this.setCache(cacheKey, facts);
46
- return facts;
80
+ return this.partitionByAccessType(facts);
47
81
  }
48
82
  catch (error) {
49
83
  logger.warn("Failed to load org facts", { error });
50
- return [];
84
+ return { alwaysInject: [], onDemand: [] };
51
85
  }
52
86
  }
87
+ /**
88
+ * Load all facts for an integration (both ALWAYS_INJECT and ON_DEMAND).
89
+ * Facts are fetched in a single RPC call and partitioned client-side.
90
+ */
53
91
  async loadIntegrationFacts(rpcClient, integrationId, logger) {
54
92
  const cacheKey = `integration:${integrationId}`;
55
93
  const cached = this.getCached(cacheKey);
56
94
  if (cached) {
57
- return cached;
95
+ return this.partitionByAccessType(cached);
58
96
  }
59
97
  try {
60
98
  const facts = await rpcClient.call(async (client) => {
@@ -62,23 +100,26 @@ export class KnowledgeManager {
62
100
  entityScope: FactEntityScope.INTEGRATION,
63
101
  entityId: integrationId,
64
102
  isEnabled: true,
65
- accessType: FactAccessType.ALWAYS_INJECT,
66
103
  });
67
104
  return data?.facts ?? [];
68
105
  });
69
106
  this.setCache(cacheKey, facts);
70
- return facts;
107
+ return this.partitionByAccessType(facts);
71
108
  }
72
109
  catch (error) {
73
110
  logger.warn("Failed to load integration facts", { error });
74
- return [];
111
+ return { alwaysInject: [], onDemand: [] };
75
112
  }
76
113
  }
114
+ /**
115
+ * Load all facts for a user (both ALWAYS_INJECT and ON_DEMAND).
116
+ * Facts are fetched in a single RPC call and partitioned client-side.
117
+ */
77
118
  async loadUserFacts(rpcClient, userId, logger) {
78
119
  const cacheKey = `user:${userId}`;
79
120
  const cached = this.getCached(cacheKey);
80
121
  if (cached) {
81
- return cached;
122
+ return this.partitionByAccessType(cached);
82
123
  }
83
124
  try {
84
125
  const facts = await rpcClient.call(async (client) => {
@@ -86,16 +127,15 @@ export class KnowledgeManager {
86
127
  entityScope: FactEntityScope.USER,
87
128
  entityId: userId,
88
129
  isEnabled: true,
89
- accessType: FactAccessType.ALWAYS_INJECT,
90
130
  });
91
131
  return data?.facts ?? [];
92
132
  });
93
133
  this.setCache(cacheKey, facts);
94
- return facts;
134
+ return this.partitionByAccessType(facts);
95
135
  }
96
136
  catch (error) {
97
137
  logger.warn("Failed to load user facts", { error });
98
- return [];
138
+ return { alwaysInject: [], onDemand: [] };
99
139
  }
100
140
  }
101
141
  /**
@@ -128,28 +168,47 @@ export class KnowledgeManager {
128
168
  async loadFactsPromptSections({ rpcClient, organizationId, userId, promptIntegrations, planIntegrations, logger, }) {
129
169
  try {
130
170
  const mergedIntegrations = this.mergeIntegrations(promptIntegrations, planIntegrations ?? []);
131
- const integrationFactsPromises = mergedIntegrations.map(async (integration) => ({
132
- integration,
133
- facts: await this.loadIntegrationFacts(rpcClient, integration.id, logger),
134
- }));
135
- const [orgFacts, userFacts, ...integrationFactsResults] = await Promise.all([
171
+ // Load all facts for integrations (single call per integration)
172
+ const integrationFactsPromises = mergedIntegrations.map(async (integration) => {
173
+ const { alwaysInject, onDemand } = await this.loadIntegrationFacts(rpcClient, integration.id, logger);
174
+ return { integration, alwaysInject, onDemand };
175
+ });
176
+ // Load all facts in parallel (single call per entity type)
177
+ const [orgFacts, userFacts, ...integrationResults] = await Promise.all([
136
178
  this.loadOrgFacts(rpcClient, organizationId, logger),
137
179
  this.loadUserFacts(rpcClient, userId, logger),
138
180
  ...integrationFactsPromises,
139
181
  ]);
140
- logger.info("[knowledge-manager] loaded facts for prompt", this.summarizeLoadedFactsForLogs(orgFacts, userFacts, integrationFactsResults));
141
- const systemPromptSection = formatSystemPromptFacts(orgFacts);
142
- const userMessageSection = formatUserMessageFacts(userFacts, integrationFactsResults);
182
+ // Build results for ALWAYS_INJECT facts (for formatUserMessageFacts)
183
+ const alwaysInjectIntegrationResults = integrationResults.map((r) => ({
184
+ integration: r.integration,
185
+ facts: r.alwaysInject,
186
+ }));
187
+ const allIntegrationResults = integrationResults.map((r) => ({
188
+ integration: r.integration,
189
+ facts: [...r.alwaysInject, ...r.onDemand],
190
+ }));
191
+ logger.info("[knowledge-manager] loaded facts for prompt", this.summarizeLoadedFactsForLogs(orgFacts.alwaysInject, userFacts.alwaysInject, alwaysInjectIntegrationResults));
192
+ // Format ALWAYS_INJECT facts for direct prompt injection
193
+ const systemPromptSection = formatSystemPromptFacts(orgFacts.alwaysInject);
194
+ const userMessageSection = formatUserMessageFacts(userFacts.alwaysInject, alwaysInjectIntegrationResults);
195
+ // Generate skill index for ON_DEMAND facts
196
+ const onDemandSkillIndex = generateOnDemandFactsSkillIndex(orgFacts.onDemand, userFacts.onDemand, allIntegrationResults) ?? "";
197
+ // Combine all facts for tracking (both ALWAYS_INJECT and ON_DEMAND)
198
+ const allOrgFacts = [...orgFacts.alwaysInject, ...orgFacts.onDemand];
199
+ const allUserFacts = [...userFacts.alwaysInject, ...userFacts.onDemand];
200
+ const allIntegrationFacts = integrationResults.reduce((acc, r) => {
201
+ acc[r.integration.id] = [...r.alwaysInject, ...r.onDemand];
202
+ return acc;
203
+ }, {});
143
204
  return {
144
205
  systemPromptSection,
145
206
  userMessageSection,
207
+ onDemandSkillIndex,
146
208
  facts: {
147
- org: orgFacts,
148
- user: userFacts,
149
- integrations: integrationFactsResults.reduce((acc, r) => {
150
- acc[r.integration.id] = r.facts;
151
- return acc;
152
- }, {}),
209
+ org: allOrgFacts,
210
+ user: allUserFacts,
211
+ integrations: allIntegrationFacts,
153
212
  },
154
213
  };
155
214
  }
@@ -158,6 +217,7 @@ export class KnowledgeManager {
158
217
  return {
159
218
  systemPromptSection: "",
160
219
  userMessageSection: "",
220
+ onDemandSkillIndex: "",
161
221
  facts: {
162
222
  org: [],
163
223
  user: [],
@@ -198,5 +258,26 @@ export class KnowledgeManager {
198
258
  facts.user.length > 0 ||
199
259
  Object.keys(facts.integrations).length > 0);
200
260
  }
261
+ /**
262
+ * Filter LoadedFacts to only include ALWAYS_INJECT facts.
263
+ * Used to show only always-inject facts in the initial knowledge UI message.
264
+ */
265
+ filterAlwaysInjectFacts(facts) {
266
+ const filterAlwaysInject = (factList) => {
267
+ return factList.filter((fact) => fact.accessType === FactAccessType.ALWAYS_INJECT);
268
+ };
269
+ const alwaysInjectIntegrations = {};
270
+ for (const [integrationId, integrationFacts] of Object.entries(facts.integrations)) {
271
+ const filtered = filterAlwaysInject(integrationFacts);
272
+ if (filtered.length > 0) {
273
+ alwaysInjectIntegrations[integrationId] = filtered;
274
+ }
275
+ }
276
+ return {
277
+ org: filterAlwaysInject(facts.org),
278
+ user: filterAlwaysInject(facts.user),
279
+ integrations: alwaysInjectIntegrations,
280
+ };
281
+ }
201
282
  }
202
283
  //# sourceMappingURL=knowledge-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge-manager.js","sourceRoot":"","sources":["../../../src/ai-service/facts/knowledge-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"knowledge-manager.js","sourceRoot":"","sources":["../../../src/ai-service/facts/knowledge-manager.ts"],"names":[],"mappings":"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"}
@@ -82,6 +82,11 @@ declare const FLAG_DEFINITIONS: {
82
82
  readonly key: "clark.session-recording.enabled";
83
83
  readonly schema: z.ZodBoolean;
84
84
  };
85
+ readonly sessionManagementEnabled: {
86
+ readonly key: "clark.session-management.enabled";
87
+ readonly schema: z.ZodBoolean;
88
+ };
89
+ /** Derived from application templateName in CLI (not LD). See isSdkApiTemplate(). */
85
90
  readonly sdkApiEnabled: {
86
91
  readonly key: "clark.sdk-api.enabled";
87
92
  readonly schema: z.ZodBoolean;
@@ -1 +1 @@
1
- {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../src/ai-service/features.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CACtB;AAED;;GAEG;AACH,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEnE;;GAEG;AACH,KAAK,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI;IACxD,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS;CACrE,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyD0B,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEzE,eAAO,MAAM,qBAAqB;IAChC;;OAEG;mBACW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAQ,qBAAqB;CAkBnE,CAAC"}
1
+ {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../src/ai-service/features.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CACtB;AAED;;GAEG;AACH,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEnE;;GAEG;AACH,KAAK,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI;IACxD,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS;CACrE,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyDpB,qFAAqF;;;;;CAKvC,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEzE,eAAO,MAAM,qBAAqB;IAChC;;OAEG;mBACW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAQ,qBAAqB;CAkBnE,CAAC"}
@@ -66,6 +66,11 @@ const FLAG_DEFINITIONS = {
66
66
  key: "clark.session-recording.enabled",
67
67
  schema: z.boolean(),
68
68
  },
69
+ sessionManagementEnabled: {
70
+ key: "clark.session-management.enabled",
71
+ schema: z.boolean(),
72
+ },
73
+ /** Derived from application templateName in CLI (not LD). See isSdkApiTemplate(). */
69
74
  sdkApiEnabled: {
70
75
  key: "clark.sdk-api.enabled",
71
76
  schema: z.boolean(),
@@ -1 +1 @@
1
- {"version":3,"file":"features.js","sourceRoot":"","sources":["../../src/ai-service/features.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,CAAC,MAAM,KAAK,CAAC;AAsBpB;;;;;;;;;;;;GAYG;AACH,MAAM,gBAAgB,GAAG;IACvB,2BAA2B,EAAE;QAC3B,GAAG,EAAE,2BAA2B;QAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KACnB;IACD,gCAAgC,EAAE;QAChC,GAAG,EAAE,0BAA0B;QAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KACnB;IACD,sBAAsB,EAAE;QACtB,GAAG,EAAE,iCAAiC;QACtC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;KACpB;IACD,oBAAoB,EAAE;QACpB,GAAG,EAAE,2BAA2B;QAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC9B;IACD,2BAA2B,EAAE;QAC3B,GAAG,EAAE,8CAA8C;QACnD,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;KACpB;IACD,sBAAsB,EAAE;QACtB,GAAG,EAAE,yCAAyC;QAC9C,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;KACpB;IACD,gBAAgB,EAAE;QAChB,GAAG,EAAE,sBAAsB;QAC3B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;KACpC;IACD,wBAAwB,EAAE;QACxB,GAAG,EAAE,qCAAqC;QAC1C,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;KACpB;IACD,eAAe,EAAE;QACf,GAAG,EAAE,kCAAkC;QACvC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;KACpB;IACD,iCAAiC,EAAE;QACjC,GAAG,EAAE,oCAAoC;QACzC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;KACpB;IACD,iBAAiB,EAAE;QACjB,GAAG,EAAE,8BAA8B;QACnC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;KACpB;IACD,eAAe,EAAE;QACf,GAAG,EAAE,yBAAyB;QAC9B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;KACpB;IACD,uBAAuB,EAAE;QACvB,GAAG,EAAE,iCAAiC;QACtC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;KACpB;IACD,aAAa,EAAE;QACb,GAAG,EAAE,uBAAuB;QAC5B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;KACpB;CAC6C,CAAC;AAUjD,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC;;OAEG;IACH,MAAM,CAAC,QAAiC,EAAE;QACxC,OAAO,IAAI,KAAK,CAAC,EAA2B,EAAE;YAC5C,GAAG,CAAC,OAAO,EAAE,IAAqB;gBAChC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,IAAI,gBAAgB,CAAC,EAAE,CAAC;oBAC5D,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAqC,CAAC,CAAC;gBACpE,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAE3B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBACtB,OAAO,SAAS,CAAC;gBACnB,CAAC;gBAED,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACzC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAClD,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"features.js","sourceRoot":"","sources":["../../src/ai-service/features.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type AiAppFact } from "@superblocksteam/library-shared/types";
1
2
  import { TracedEventEmitter } from "@superblocksteam/shared";
2
3
  import { ChatSessionStore } from "./chat/chat-session-store.js";
3
4
  import { AppContextStore } from "./context/app-context.js";
@@ -10,6 +11,8 @@ import type { ContextId } from "./llm/context-v2/types.js";
10
11
  import type { AiGenerateRequest, AiExplainCodeRequest, AiLabelAttachmentRequest, AiLabelAttachmentResponse, AiToolPermission, LLMProviderConfig, PromptContext, RuntimeErrorData, ConsoleLogEntry, ApiRunRecord } from "@superblocksteam/library-shared/types";
11
12
  import type { ViteDevServer } from "vite";
12
13
  export { AiServiceFeatureFlags } from "./features.js";
14
+ export { SnapshotManager } from "./recording/index.js";
15
+ export { isSdkApiTemplate } from "./sdk-api-templates.js";
13
16
  export declare function pruneByTTL<T extends {
14
17
  timestamp?: number;
15
18
  generationTimestamp?: string;
@@ -80,6 +83,11 @@ export declare class AiService extends TracedEventEmitter<AiServiceEvents> {
80
83
  * This allows external code to add custom recording middleware.
81
84
  */
82
85
  getRecordingManager(): RecordingManager;
86
+ /**
87
+ * Returns the set of integration IDs available in the current environment.
88
+ */
89
+ getAvailableIntegrationIds(): Promise<Set<string>>;
90
+ get isSessionManagementEnabled(): boolean;
83
91
  /**
84
92
  * Checks if there is a connected peer (user is connected via socket)
85
93
  */
@@ -183,6 +191,18 @@ export declare class AiService extends TracedEventEmitter<AiServiceEvents> {
183
191
  }): Promise<JudgeEvaluationResult>;
184
192
  handleUserChange(change: UserChange): void;
185
193
  handleNewChat(): Promise<void>;
194
+ /**
195
+ * Returns all saved app skill facts for the current application.
196
+ */
197
+ getAppFacts(): Promise<AiAppFact[]>;
198
+ /**
199
+ * Deletes an app skill fact by its virtual path.
200
+ */
201
+ deleteAppFact(virtualPath: string): Promise<void>;
202
+ /**
203
+ * Toggles the isEnabled field of an app skill fact and returns the updated fact.
204
+ */
205
+ toggleAppFact(virtualPath: string, isEnabled: boolean): Promise<AiAppFact>;
186
206
  handleRestoreToCommit(sinceTimestamp: number, commitId: string, applicationId: string, branchName: string): Promise<void>;
187
207
  handleApiUpdate(update: ApiUpdate): Promise<void>;
188
208
  isBusy(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai-service/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai-service/index.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ import { explainCodeFinalizeToolFactory } from "./agent/tools2/tools/explain-cod
18
18
  import { FileSystemInterface } from "./app-interface/file-system-interface.js";
19
19
  import { createDefaultVirtualFileSystem, createPathValidator, } from "./app-interface/filesystem/index.js";
20
20
  import { AppShell } from "./app-interface/shell.js";
21
+ import { AppSkillsManager } from "./app-skills/manager.js";
21
22
  import { BoltArtifactProcessor } from "./artifacts/bolt.js";
22
23
  import { ChatSessionStore } from "./chat/chat-session-store.js";
23
24
  import { AppContextStore } from "./context/app-context.js";
@@ -56,6 +57,8 @@ import { createJsonStreamParser } from "./util/json-stream-parser.js";
56
57
  import { processLLMConfig } from "./util/llm-config-utils.js";
57
58
  import { getToolCallSignature } from "./util/tool-signature.js";
58
59
  export { AiServiceFeatureFlags } from "./features.js";
60
+ export { SnapshotManager } from "./recording/index.js";
61
+ export { isSdkApiTemplate } from "./sdk-api-templates.js";
59
62
  // Helper functions for console log and runtime error buffer management
60
63
  export function pruneByTTL(items, ttlMs) {
61
64
  const now = Date.now();
@@ -209,6 +212,16 @@ export class AiService extends TracedEventEmitter {
209
212
  getRecordingManager() {
210
213
  return this.recordingManager;
211
214
  }
215
+ /**
216
+ * Returns the set of integration IDs available in the current environment.
217
+ */
218
+ async getAvailableIntegrationIds() {
219
+ const headers = await this.integrationStore.availableIntegrations();
220
+ return new Set(headers.map((h) => h.id));
221
+ }
222
+ get isSessionManagementEnabled() {
223
+ return this.config.features.sessionManagementEnabled === true;
224
+ }
212
225
  /**
213
226
  * Checks if there is a connected peer (user is connected via socket)
214
227
  */
@@ -246,6 +259,8 @@ export class AiService extends TracedEventEmitter {
246
259
  prefetchNodeModules: true,
247
260
  workDirSeed: config.appRootDirPath,
248
261
  });
262
+ // Create KnowledgeManager before AppShell so it can be passed to VirtualFileSystem
263
+ this.knowledgeManager = new KnowledgeManager();
249
264
  this.appShell = new AppShell({
250
265
  appRootDirPath: config.appRootDirPath,
251
266
  fsOperationQueue: config.fsOperationQueue,
@@ -253,6 +268,7 @@ export class AiService extends TracedEventEmitter {
253
268
  templateRenderer: this.templateRenderer,
254
269
  virtualFileSystem: createDefaultVirtualFileSystem({
255
270
  useSystemSkills: config.features.useSystemSkills,
271
+ knowledgeManager: this.knowledgeManager,
256
272
  sdkApiEnabled: config.features.sdkApiEnabled,
257
273
  }),
258
274
  pathValidator: createPathValidator(config.features.sdkApiEnabled ?? false),
@@ -274,7 +290,6 @@ export class AiService extends TracedEventEmitter {
274
290
  });
275
291
  this.fileSystemInterface = new FileSystemInterface();
276
292
  this.integrationStore = new IntegrationStore(undefined, config.appRootDirPath, config.features.metadataCacheMaxTotalSizeMB, config.features.metadataCacheMaxSingleFileSizeMB, config.pluginExecutionVersions, config.superblocksBaseUrl, config.applicationId, () => this.clark?.context?.jwt);
277
- this.knowledgeManager = new KnowledgeManager();
278
293
  this._appContext = new AppContextStore(this.fileSystemInterface);
279
294
  this.sessionId = `session_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
280
295
  this.chatSessionStore = new ChatSessionStore({
@@ -1589,6 +1604,28 @@ export class AiService extends TracedEventEmitter {
1589
1604
  this.getLogger().error("[ai-service] Failed to clear contexts on new chat", getErrorMeta(error));
1590
1605
  }
1591
1606
  }
1607
+ /**
1608
+ * Returns all saved app skill facts for the current application.
1609
+ */
1610
+ async getAppFacts() {
1611
+ const manager = new AppSkillsManager(this.config.appRootDirPath);
1612
+ const facts = await manager.loadFacts();
1613
+ return AppSkillsManager.toAiAppFacts(facts);
1614
+ }
1615
+ /**
1616
+ * Deletes an app skill fact by its virtual path.
1617
+ */
1618
+ async deleteAppFact(virtualPath) {
1619
+ const manager = new AppSkillsManager(this.config.appRootDirPath);
1620
+ await manager.deleteFact(virtualPath);
1621
+ }
1622
+ /**
1623
+ * Toggles the isEnabled field of an app skill fact and returns the updated fact.
1624
+ */
1625
+ async toggleAppFact(virtualPath, isEnabled) {
1626
+ const manager = new AppSkillsManager(this.config.appRootDirPath);
1627
+ return manager.toggleFact(virtualPath, isEnabled);
1628
+ }
1592
1629
  async handleRestoreToCommit(sinceTimestamp, commitId, applicationId, branchName) {
1593
1630
  // TODO: change this to truncate after commit once commit info is supported here, so we can truncate messages accurately.
1594
1631
  // 1. Truncate chat messages on server (always do this first)