@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.
- package/dist/ai-service/agent/prompts/api-prompts.js +1 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts +2 -2
- package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js +132 -28
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
- package/dist/ai-service/agent/tool-message-utils.js +1 -1
- package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.d.ts +44 -0
- package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.js +226 -92
- package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
- package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts +13 -11
- package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-capture-screenshot.js +33 -3
- package/dist/ai-service/agent/tools/build-capture-screenshot.js.map +1 -1
- package/dist/ai-service/agent/tools/build-debug.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-debug.js +8 -3
- package/dist/ai-service/agent/tools/build-debug.js.map +1 -1
- package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-edit-file.js +12 -2
- package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
- package/dist/ai-service/agent/tools/build-list-files.js +1 -1
- package/dist/ai-service/agent/tools/build-list-files.js.map +1 -1
- package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-multi-edit-file.js +6 -1
- package/dist/ai-service/agent/tools/build-multi-edit-file.js.map +1 -1
- package/dist/ai-service/agent/tools/get-logs.d.ts +1 -1
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +5 -1
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/access-control.js +3 -0
- package/dist/ai-service/agent/tools2/access-control.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +2 -2
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +3 -3
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts +1 -1
- package/dist/ai-service/agent/tools2/tools/grep.d.ts +1 -1
- package/dist/ai-service/agent/tools2/tools/index.d.ts +1 -0
- package/dist/ai-service/agent/tools2/tools/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/index.js +1 -0
- package/dist/ai-service/agent/tools2/tools/index.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/remember-facts.d.ts +29 -0
- package/dist/ai-service/agent/tools2/tools/remember-facts.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/tools/remember-facts.js +104 -0
- package/dist/ai-service/agent/tools2/tools/remember-facts.js.map +1 -0
- package/dist/ai-service/agent/tools2/types.d.ts +1 -0
- package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/types.js +1 -0
- package/dist/ai-service/agent/tools2/types.js.map +1 -1
- package/dist/ai-service/agent/utils.d.ts.map +1 -1
- package/dist/ai-service/agent/utils.js +77 -0
- package/dist/ai-service/agent/utils.js.map +1 -1
- package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts +22 -1
- package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts.map +1 -1
- package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js +121 -11
- package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js.map +1 -1
- package/dist/ai-service/app-interface/filesystem/sdk-path-validator.d.ts +1 -1
- package/dist/ai-service/app-interface/filesystem/sdk-path-validator.d.ts.map +1 -1
- package/dist/ai-service/app-interface/filesystem/sdk-path-validator.js +4 -2
- package/dist/ai-service/app-interface/filesystem/sdk-path-validator.js.map +1 -1
- package/dist/ai-service/app-interface/filesystem/virtual-file-system.d.ts +2 -0
- package/dist/ai-service/app-interface/filesystem/virtual-file-system.d.ts.map +1 -1
- package/dist/ai-service/app-interface/filesystem/virtual-file-system.js +28 -3
- package/dist/ai-service/app-interface/filesystem/virtual-file-system.js.map +1 -1
- package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
- package/dist/ai-service/app-interface/shell.js +9 -3
- package/dist/ai-service/app-interface/shell.js.map +1 -1
- package/dist/ai-service/app-skills/helpers.d.ts +32 -0
- package/dist/ai-service/app-skills/helpers.d.ts.map +1 -0
- package/dist/ai-service/app-skills/helpers.js +262 -0
- package/dist/ai-service/app-skills/helpers.js.map +1 -0
- package/dist/ai-service/app-skills/manager.d.ts +60 -0
- package/dist/ai-service/app-skills/manager.d.ts.map +1 -0
- package/dist/ai-service/app-skills/manager.js +203 -0
- package/dist/ai-service/app-skills/manager.js.map +1 -0
- package/dist/ai-service/app-skills/parser.d.ts +53 -0
- package/dist/ai-service/app-skills/parser.d.ts.map +1 -0
- package/dist/ai-service/app-skills/parser.js +82 -0
- package/dist/ai-service/app-skills/parser.js.map +1 -0
- package/dist/ai-service/attachment-upload.d.ts +24 -0
- package/dist/ai-service/attachment-upload.d.ts.map +1 -0
- package/dist/ai-service/attachment-upload.js +75 -0
- package/dist/ai-service/attachment-upload.js.map +1 -0
- package/dist/ai-service/chat/chat-session-store.d.ts +1 -1
- package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store.js +82 -0
- package/dist/ai-service/chat/chat-session-store.js.map +1 -1
- package/dist/ai-service/facts/helpers.d.ts +8 -1
- package/dist/ai-service/facts/helpers.d.ts.map +1 -1
- package/dist/ai-service/facts/helpers.js +89 -7
- package/dist/ai-service/facts/helpers.js.map +1 -1
- package/dist/ai-service/facts/knowledge-manager.d.ts +39 -3
- package/dist/ai-service/facts/knowledge-manager.d.ts.map +1 -1
- package/dist/ai-service/facts/knowledge-manager.js +108 -27
- package/dist/ai-service/facts/knowledge-manager.js.map +1 -1
- package/dist/ai-service/features.d.ts +5 -0
- package/dist/ai-service/features.d.ts.map +1 -1
- package/dist/ai-service/features.js +5 -0
- package/dist/ai-service/features.js.map +1 -1
- package/dist/ai-service/index.d.ts +20 -0
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +38 -1
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/integrations/store.d.ts.map +1 -1
- package/dist/ai-service/integrations/store.js +3 -1
- package/dist/ai-service/integrations/store.js.map +1 -1
- package/dist/ai-service/llm/context-v2/context.d.ts +2 -0
- package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/context.js +65 -0
- package/dist/ai-service/llm/context-v2/context.js.map +1 -1
- package/dist/ai-service/recording/block-traversal.d.ts +30 -0
- package/dist/ai-service/recording/block-traversal.d.ts.map +1 -0
- package/dist/ai-service/recording/block-traversal.js +118 -0
- package/dist/ai-service/recording/block-traversal.js.map +1 -0
- package/dist/ai-service/recording/index.d.ts +1 -0
- package/dist/ai-service/recording/index.d.ts.map +1 -1
- package/dist/ai-service/recording/index.js +2 -0
- package/dist/ai-service/recording/index.js.map +1 -1
- package/dist/ai-service/recording/snapshot-manager.d.ts +200 -0
- package/dist/ai-service/recording/snapshot-manager.d.ts.map +1 -0
- package/dist/ai-service/recording/snapshot-manager.js +708 -0
- package/dist/ai-service/recording/snapshot-manager.js.map +1 -0
- package/dist/ai-service/recording/storage/session-recording-storage.d.ts +5 -1
- package/dist/ai-service/recording/storage/session-recording-storage.d.ts.map +1 -1
- package/dist/ai-service/recording/storage/session-recording-storage.js +46 -21
- package/dist/ai-service/recording/storage/session-recording-storage.js.map +1 -1
- package/dist/ai-service/sdk-api-templates.d.ts +2 -0
- package/dist/ai-service/sdk-api-templates.d.ts.map +1 -0
- package/dist/ai-service/sdk-api-templates.js +2 -0
- package/dist/ai-service/sdk-api-templates.js.map +1 -0
- package/dist/ai-service/skills/index.d.ts +3 -1
- package/dist/ai-service/skills/index.d.ts.map +1 -1
- package/dist/ai-service/skills/index.js +5 -2
- package/dist/ai-service/skills/index.js.map +1 -1
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +4 -4
- package/dist/ai-service/state-machine/clark-fsm.d.ts +18 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.js +1 -0
- package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.js +93 -11
- package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.js +67 -7
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
- package/dist/ai-service/state-machine/mocks.js +2 -0
- package/dist/ai-service/state-machine/mocks.js.map +1 -1
- package/dist/ai-service/types.d.ts +3 -0
- package/dist/ai-service/types.d.ts.map +1 -1
- package/dist/ai-service/types.js.map +1 -1
- package/dist/ai-service/util/mode-message.d.ts.map +1 -1
- package/dist/ai-service/util/mode-message.js +3 -0
- package/dist/ai-service/util/mode-message.js.map +1 -1
- package/dist/ai-service/util/rpc-timeout.d.ts +37 -0
- package/dist/ai-service/util/rpc-timeout.d.ts.map +1 -0
- package/dist/ai-service/util/rpc-timeout.js +58 -0
- package/dist/ai-service/util/rpc-timeout.js.map +1 -0
- package/dist/file-sync-vite-plugin.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.js +72 -21
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/file-system-helpers.d.ts +9 -0
- package/dist/file-system-helpers.d.ts.map +1 -1
- package/dist/file-system-helpers.js +21 -0
- package/dist/file-system-helpers.js.map +1 -1
- package/dist/injected-index.d.ts.map +1 -1
- package/dist/injected-index.js +4 -3
- package/dist/injected-index.js.map +1 -1
- package/dist/plugin-options.d.ts +2 -0
- package/dist/plugin-options.d.ts.map +1 -1
- package/dist/plugin-options.js.map +1 -1
- package/dist/snapshot-routes.d.ts +17 -0
- package/dist/snapshot-routes.d.ts.map +1 -0
- package/dist/snapshot-routes.js +247 -0
- package/dist/snapshot-routes.js.map +1 -0
- package/dist/socket-manager.d.ts +1 -0
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +34 -0
- package/dist/socket-manager.js.map +1 -1
- 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
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
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
|
-
|
|
141
|
-
const
|
|
142
|
-
|
|
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:
|
|
148
|
-
user:
|
|
149
|
-
integrations:
|
|
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":"AAAA,OAAO,EACL,cAAc,EACd,eAAe,GAEhB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAe,MAAM,sBAAsB,CAAC;AACjE,OAAO,
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai-service/index.ts"],"names":[],"mappings":"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"}
|
package/dist/ai-service/index.js
CHANGED
|
@@ -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)
|