@theihtisham/agent-shadow-brain 7.1.4 → 7.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +478 -462
- package/README.md +97 -24
- package/dist/brain/auto-update.js +1 -1
- package/dist/brain/auto-update.js.map +1 -1
- package/dist/brain/brain-portability.js +1 -1
- package/dist/brain/brain-portability.js.map +1 -1
- package/dist/brain/client-integrations.js +1 -1
- package/dist/brain/client-integrations.js.map +1 -1
- package/dist/brain/context-assembly.d.ts +10 -0
- package/dist/brain/context-assembly.d.ts.map +1 -1
- package/dist/brain/context-assembly.js +15 -6
- package/dist/brain/context-assembly.js.map +1 -1
- package/dist/brain/context-efficiency.d.ts +48 -0
- package/dist/brain/context-efficiency.d.ts.map +1 -0
- package/dist/brain/context-efficiency.js +34 -0
- package/dist/brain/context-efficiency.js.map +1 -0
- package/dist/brain/context-request.d.ts +1 -1
- package/dist/brain/context-request.d.ts.map +1 -1
- package/dist/brain/context-request.js +4 -2
- package/dist/brain/context-request.js.map +1 -1
- package/dist/brain/context-retrieval.d.ts +1 -1
- package/dist/brain/context-retrieval.d.ts.map +1 -1
- package/dist/brain/context-retrieval.js +2 -1
- package/dist/brain/context-retrieval.js.map +1 -1
- package/dist/brain/feature-settings.d.ts +5 -0
- package/dist/brain/feature-settings.d.ts.map +1 -1
- package/dist/brain/feature-settings.js +8 -2
- package/dist/brain/feature-settings.js.map +1 -1
- package/dist/brain/global-brain.d.ts +1 -1
- package/dist/brain/global-brain.d.ts.map +1 -1
- package/dist/brain/global-brain.js +1 -0
- package/dist/brain/global-brain.js.map +1 -1
- package/dist/brain/managed-project-skills.d.ts +48 -0
- package/dist/brain/managed-project-skills.d.ts.map +1 -0
- package/dist/brain/managed-project-skills.js +230 -0
- package/dist/brain/managed-project-skills.js.map +1 -0
- package/dist/brain/mcp-presence.d.ts +50 -0
- package/dist/brain/mcp-presence.d.ts.map +1 -0
- package/dist/brain/mcp-presence.js +214 -0
- package/dist/brain/mcp-presence.js.map +1 -0
- package/dist/brain/mcp-server.d.ts +12 -0
- package/dist/brain/mcp-server.d.ts.map +1 -1
- package/dist/brain/mcp-server.js +177 -31
- package/dist/brain/mcp-server.js.map +1 -1
- package/dist/brain/mcp-stdio.d.ts +1 -1
- package/dist/brain/mcp-stdio.d.ts.map +1 -1
- package/dist/brain/mcp-stdio.js +19 -1
- package/dist/brain/mcp-stdio.js.map +1 -1
- package/dist/brain/memory-annotations.d.ts +2 -0
- package/dist/brain/memory-annotations.d.ts.map +1 -1
- package/dist/brain/memory-annotations.js +13 -0
- package/dist/brain/memory-annotations.js.map +1 -1
- package/dist/brain/memory-inspection.d.ts +1 -0
- package/dist/brain/memory-inspection.d.ts.map +1 -1
- package/dist/brain/memory-inspection.js +1 -1
- package/dist/brain/memory-inspection.js.map +1 -1
- package/dist/brain/memory-mcp-content.d.ts +4 -2
- package/dist/brain/memory-mcp-content.d.ts.map +1 -1
- package/dist/brain/memory-mcp-content.js +20 -16
- package/dist/brain/memory-mcp-content.js.map +1 -1
- package/dist/brain/model-registry.d.ts +4 -5
- package/dist/brain/model-registry.d.ts.map +1 -1
- package/dist/brain/model-registry.js +22 -207
- package/dist/brain/model-registry.js.map +1 -1
- package/dist/brain/model-usage.d.ts +66 -0
- package/dist/brain/model-usage.d.ts.map +1 -0
- package/dist/brain/model-usage.js +246 -0
- package/dist/brain/model-usage.js.map +1 -0
- package/dist/brain/native-codex.d.ts +105 -0
- package/dist/brain/native-codex.d.ts.map +1 -0
- package/dist/brain/native-codex.js +292 -0
- package/dist/brain/native-codex.js.map +1 -0
- package/dist/brain/native-session-import.d.ts +56 -0
- package/dist/brain/native-session-import.d.ts.map +1 -0
- package/dist/brain/native-session-import.js +307 -0
- package/dist/brain/native-session-import.js.map +1 -0
- package/dist/brain/orchestrator.js +1 -1
- package/dist/brain/orchestrator.js.map +1 -1
- package/dist/brain/project-feedback.d.ts +1 -1
- package/dist/brain/project-feedback.d.ts.map +1 -1
- package/dist/brain/project-feedback.js +19 -8
- package/dist/brain/project-feedback.js.map +1 -1
- package/dist/brain/project-hub-contract.d.ts +6 -0
- package/dist/brain/project-hub-contract.d.ts.map +1 -1
- package/dist/brain/project-hub-contract.js +2 -1
- package/dist/brain/project-hub-contract.js.map +1 -1
- package/dist/brain/project-hub-mcp.d.ts +14 -0
- package/dist/brain/project-hub-mcp.d.ts.map +1 -1
- package/dist/brain/project-hub-mcp.js +6 -1
- package/dist/brain/project-hub-mcp.js.map +1 -1
- package/dist/brain/project-hub-store.d.ts +14 -2
- package/dist/brain/project-hub-store.d.ts.map +1 -1
- package/dist/brain/project-hub-store.js +70 -2
- package/dist/brain/project-hub-store.js.map +1 -1
- package/dist/brain/project-hub.d.ts +5 -0
- package/dist/brain/project-hub.d.ts.map +1 -1
- package/dist/brain/project-hub.js +23 -1
- package/dist/brain/project-hub.js.map +1 -1
- package/dist/brain/project-kit.d.ts +10 -0
- package/dist/brain/project-kit.d.ts.map +1 -1
- package/dist/brain/project-kit.js +80 -16
- package/dist/brain/project-kit.js.map +1 -1
- package/dist/brain/project-policy-delivery.d.ts +8 -0
- package/dist/brain/project-policy-delivery.d.ts.map +1 -0
- package/dist/brain/project-policy-delivery.js +38 -0
- package/dist/brain/project-policy-delivery.js.map +1 -0
- package/dist/brain/project-policy.d.ts +88 -0
- package/dist/brain/project-policy.d.ts.map +1 -0
- package/dist/brain/project-policy.js +267 -0
- package/dist/brain/project-policy.js.map +1 -0
- package/dist/brain/project-session-contract.d.ts +180 -0
- package/dist/brain/project-session-contract.d.ts.map +1 -0
- package/dist/brain/project-session-contract.js +50 -0
- package/dist/brain/project-session-contract.js.map +1 -0
- package/dist/brain/project-session-mcp.d.ts +145 -0
- package/dist/brain/project-session-mcp.d.ts.map +1 -0
- package/dist/brain/project-session-mcp.js +58 -0
- package/dist/brain/project-session-mcp.js.map +1 -0
- package/dist/brain/project-sessions.d.ts +97 -0
- package/dist/brain/project-sessions.d.ts.map +1 -0
- package/dist/brain/project-sessions.js +223 -0
- package/dist/brain/project-sessions.js.map +1 -0
- package/dist/brain/project-source-contract.d.ts +109 -0
- package/dist/brain/project-source-contract.d.ts.map +1 -0
- package/dist/brain/project-source-contract.js +2 -0
- package/dist/brain/project-source-contract.js.map +1 -0
- package/dist/brain/project-source-intake.d.ts +26 -0
- package/dist/brain/project-source-intake.d.ts.map +1 -0
- package/dist/brain/project-source-intake.js +457 -0
- package/dist/brain/project-source-intake.js.map +1 -0
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/context-cli.d.ts.map +1 -1
- package/dist/context-cli.js +9 -3
- package/dist/context-cli.js.map +1 -1
- package/dist/dashboard/brain-hub-actions.d.ts.map +1 -1
- package/dist/dashboard/brain-hub-actions.js +232 -135
- package/dist/dashboard/brain-hub-actions.js.map +1 -1
- package/dist/dashboard/brain-hub-agent-dock.d.ts +2 -0
- package/dist/dashboard/brain-hub-agent-dock.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-agent-dock.js +255 -0
- package/dist/dashboard/brain-hub-agent-dock.js.map +1 -0
- package/dist/dashboard/brain-hub-brand-icons.d.ts +2 -0
- package/dist/dashboard/brain-hub-brand-icons.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-brand-icons.js +9 -0
- package/dist/dashboard/brain-hub-brand-icons.js.map +1 -0
- package/dist/dashboard/brain-hub-client.d.ts.map +1 -1
- package/dist/dashboard/brain-hub-client.js +433 -333
- package/dist/dashboard/brain-hub-client.js.map +1 -1
- package/dist/dashboard/brain-hub-context.d.ts +2 -0
- package/dist/dashboard/brain-hub-context.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-context.js +37 -0
- package/dist/dashboard/brain-hub-context.js.map +1 -0
- package/dist/dashboard/brain-hub-controls.d.ts +2 -0
- package/dist/dashboard/brain-hub-controls.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-controls.js +63 -0
- package/dist/dashboard/brain-hub-controls.js.map +1 -0
- package/dist/dashboard/brain-hub-exchanges.d.ts +2 -0
- package/dist/dashboard/brain-hub-exchanges.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-exchanges.js +82 -0
- package/dist/dashboard/brain-hub-exchanges.js.map +1 -0
- package/dist/dashboard/brain-hub-graph.d.ts.map +1 -1
- package/dist/dashboard/brain-hub-graph.js +236 -74
- package/dist/dashboard/brain-hub-graph.js.map +1 -1
- package/dist/dashboard/brain-hub-html.d.ts.map +1 -1
- package/dist/dashboard/brain-hub-html.js +56 -1
- package/dist/dashboard/brain-hub-html.js.map +1 -1
- package/dist/dashboard/brain-hub-knowledge.d.ts +2 -0
- package/dist/dashboard/brain-hub-knowledge.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-knowledge.js +33 -0
- package/dist/dashboard/brain-hub-knowledge.js.map +1 -0
- package/dist/dashboard/brain-hub-live.d.ts +2 -0
- package/dist/dashboard/brain-hub-live.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-live.js +151 -0
- package/dist/dashboard/brain-hub-live.js.map +1 -0
- package/dist/dashboard/brain-hub-managed-skills.d.ts +2 -0
- package/dist/dashboard/brain-hub-managed-skills.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-managed-skills.js +20 -0
- package/dist/dashboard/brain-hub-managed-skills.js.map +1 -0
- package/dist/dashboard/brain-hub-native.d.ts +2 -0
- package/dist/dashboard/brain-hub-native.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-native.js +44 -0
- package/dist/dashboard/brain-hub-native.js.map +1 -0
- package/dist/dashboard/brain-hub-project-views.d.ts.map +1 -1
- package/dist/dashboard/brain-hub-project-views.js +78 -77
- package/dist/dashboard/brain-hub-project-views.js.map +1 -1
- package/dist/dashboard/brain-hub-sessions.d.ts +2 -0
- package/dist/dashboard/brain-hub-sessions.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-sessions.js +40 -0
- package/dist/dashboard/brain-hub-sessions.js.map +1 -0
- package/dist/dashboard/brain-hub-usage.d.ts +2 -0
- package/dist/dashboard/brain-hub-usage.d.ts.map +1 -0
- package/dist/dashboard/brain-hub-usage.js +28 -0
- package/dist/dashboard/brain-hub-usage.js.map +1 -0
- package/dist/dashboard/brain-hub-views.d.ts.map +1 -1
- package/dist/dashboard/brain-hub-views.js +151 -146
- package/dist/dashboard/brain-hub-views.js.map +1 -1
- package/dist/dashboard/live-workspace-html.js +1039 -1039
- package/dist/dashboard/managed-project-skills-api.d.ts +29 -0
- package/dist/dashboard/managed-project-skills-api.d.ts.map +1 -0
- package/dist/dashboard/managed-project-skills-api.js +28 -0
- package/dist/dashboard/managed-project-skills-api.js.map +1 -0
- package/dist/dashboard/native-codex-api.d.ts +83 -0
- package/dist/dashboard/native-codex-api.d.ts.map +1 -0
- package/dist/dashboard/native-codex-api.js +91 -0
- package/dist/dashboard/native-codex-api.js.map +1 -0
- package/dist/dashboard/project-file-watch.d.ts +46 -0
- package/dist/dashboard/project-file-watch.d.ts.map +1 -0
- package/dist/dashboard/project-file-watch.js +221 -0
- package/dist/dashboard/project-file-watch.js.map +1 -0
- package/dist/dashboard/project-live-stream.d.ts +33 -0
- package/dist/dashboard/project-live-stream.d.ts.map +1 -0
- package/dist/dashboard/project-live-stream.js +233 -0
- package/dist/dashboard/project-live-stream.js.map +1 -0
- package/dist/dashboard/project-policy-api.d.ts +37 -0
- package/dist/dashboard/project-policy-api.d.ts.map +1 -0
- package/dist/dashboard/project-policy-api.js +31 -0
- package/dist/dashboard/project-policy-api.js.map +1 -0
- package/dist/dashboard/project-session-api.d.ts +28 -0
- package/dist/dashboard/project-session-api.d.ts.map +1 -0
- package/dist/dashboard/project-session-api.js +84 -0
- package/dist/dashboard/project-session-api.js.map +1 -0
- package/dist/dashboard/project-source-api.d.ts +11 -0
- package/dist/dashboard/project-source-api.d.ts.map +1 -0
- package/dist/dashboard/project-source-api.js +67 -0
- package/dist/dashboard/project-source-api.js.map +1 -0
- package/dist/dashboard/project-workspace.d.ts.map +1 -1
- package/dist/dashboard/project-workspace.js +18 -0
- package/dist/dashboard/project-workspace.js.map +1 -1
- package/dist/dashboard/server.d.ts.map +1 -1
- package/dist/dashboard/server.js +64 -25
- package/dist/dashboard/server.js.map +1 -1
- package/dist/dashboard/v6-dashboard-html.d.ts +1 -1
- package/dist/dashboard/v6-dashboard-html.d.ts.map +1 -1
- package/dist/dashboard/v6-dashboard-html.js +4261 -4309
- package/dist/dashboard/v6-dashboard-html.js.map +1 -1
- package/dist/dashboard/workspace-api.d.ts.map +1 -1
- package/dist/dashboard/workspace-api.js +105 -23
- package/dist/dashboard/workspace-api.js.map +1 -1
- package/dist/dashboard/workspace-status.d.ts +3 -0
- package/dist/dashboard/workspace-status.d.ts.map +1 -1
- package/dist/dashboard/workspace-status.js +4 -3
- package/dist/dashboard/workspace-status.js.map +1 -1
- package/dist/project-cli.js +1 -1
- package/dist/project-cli.js.map +1 -1
- package/docs/BRAND_ASSETS.md +36 -0
- package/docs/FEATURES_AND_LIMITS.md +29 -24
- package/docs/INTEGRATIONS.md +4 -2
- package/docs/LEARNING.md +1 -1
- package/docs/PROJECT_KIT.md +6 -1
- package/docs/QUICKSTART.md +62 -44
- package/docs/README.md +36 -33
- package/docs/SESSIONS.md +77 -0
- package/docs/SOURCE_INTAKE.md +33 -0
- package/docs/STATS.md +21 -21
- package/docs/VISUAL_GUIDE_v7.22.0.md +73 -0
- package/docs/WORKFLOW_INTEGRATION.md +3 -1
- package/docs/WORKSPACE.md +63 -37
- package/docs/assets/7.22.0-agent-dock-mobile.png +0 -0
- package/docs/assets/7.22.0-agent-dock.gif +0 -0
- package/docs/assets/7.22.0-agent-dock.png +0 -0
- package/docs/assets/7.22.0-hub-exchange.png +0 -0
- package/docs/assets/7.22.0-hub-exchanges.gif +0 -0
- package/docs/assets/7.22.0-hub-graph.png +0 -0
- package/docs/assets/7.22.0-hub-mobile-empty.png +0 -0
- package/docs/assets/7.22.0-managed-skills.png +0 -0
- package/docs/assets/7.22.0-plain-evidence.png +0 -0
- package/docs/assets/7.22.0-project-controls.png +0 -0
- package/docs/assets/7.22.0-sessions.png +0 -0
- package/docs/assets/7.22.0-teach-brain.png +0 -0
- package/docs/launch/RELEASE_ACCEPTANCE_v7.22.0.md +48 -0
- package/docs/launch/RELEASE_NOTES_v7.22.0.md +53 -0
- package/docs/launch/RESEARCH_AND_PLAN_v7.22.0.md +672 -0
- package/package.json +135 -130
- package/skills/shadow-workflow/SKILL.md +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-cli.d.ts","sourceRoot":"","sources":["../src/context-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"context-cli.d.ts","sourceRoot":"","sources":["../src/context-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwE9D"}
|
package/dist/context-cli.js
CHANGED
|
@@ -8,6 +8,8 @@ import { parseContextRequest } from './brain/context-request.js';
|
|
|
8
8
|
import { inspectMemoryHealth } from './brain/memory-inspection.js';
|
|
9
9
|
import { ProjectFeedbackStore } from './brain/project-feedback.js';
|
|
10
10
|
import { resolveProjectStore } from './brain/project-memory.js';
|
|
11
|
+
import { ProjectPolicyStore } from './brain/project-policy.js';
|
|
12
|
+
import { enforceProjectContext } from './brain/project-policy-delivery.js';
|
|
11
13
|
export function registerContextCommands(program) {
|
|
12
14
|
program.command('context-pack').description('Build a bounded, explained project context pack without model calls')
|
|
13
15
|
.argument('[query]', 'Current task or search terms', '')
|
|
@@ -16,6 +18,7 @@ export function registerContextCommands(program) {
|
|
|
16
18
|
.option('--db <path>', 'Explicit memory-store path')
|
|
17
19
|
.option('--settings <path>', 'Explicit feature-settings file')
|
|
18
20
|
.option('--token-budget <number>', 'Approximate token budget, including the rendered context', '2000')
|
|
21
|
+
.option('--max-entries <number>', 'Maximum selected memories, 1 to 30')
|
|
19
22
|
.option('--cross-project', 'Request broader context when the feature is enabled')
|
|
20
23
|
.option('--profile <name>', 'Retrieval profile: legacy or adaptive', 'legacy')
|
|
21
24
|
.option('--no-related', 'Disable recorded one-hop expansion in adaptive retrieval')
|
|
@@ -26,7 +29,8 @@ export function registerContextCommands(program) {
|
|
|
26
29
|
throw new TypeError('Token budget must be an integer from 0 to 12000.');
|
|
27
30
|
const local = resolveProjectStore(opts.project, opts.db);
|
|
28
31
|
const request = parseContextRequest({ projectId: opts.projectId ?? local?.projectId ?? GlobalBrain.projectIdFor(path.resolve(opts.project)),
|
|
29
|
-
query, tokenBudget,
|
|
32
|
+
query, tokenBudget, maxEntries: opts.maxEntries === undefined ? undefined : Number(opts.maxEntries),
|
|
33
|
+
includeCrossProject: !!opts.crossProject, profile: opts.profile, expandRelated: opts.related });
|
|
30
34
|
if (local && (request.projectId !== local.projectId || request.includeCrossProject)) {
|
|
31
35
|
throw new TypeError('This memory store is pinned to its local project.');
|
|
32
36
|
}
|
|
@@ -37,11 +41,13 @@ export function registerContextCommands(program) {
|
|
|
37
41
|
try {
|
|
38
42
|
if (features.contextAssembly)
|
|
39
43
|
brain.refresh();
|
|
40
|
-
const
|
|
44
|
+
const options = {
|
|
41
45
|
...request, features,
|
|
42
46
|
feedback: features.contextAssembly && local && request.profile === 'adaptive' ? new ProjectFeedbackStore(local.root, brain).get() : undefined,
|
|
43
47
|
annotations: features.contextAssembly ? memoryAnnotationsFor(brain).get() : undefined,
|
|
44
|
-
}
|
|
48
|
+
};
|
|
49
|
+
const pack = assembleContext(brain, local
|
|
50
|
+
? enforceProjectContext(local.root, brain, new ProjectPolicyStore(local.root, local.projectId).get(), options) : options);
|
|
45
51
|
if (opts.json)
|
|
46
52
|
console.log(JSON.stringify(pack, null, 2));
|
|
47
53
|
else {
|
package/dist/context-cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-cli.js","sourceRoot":"","sources":["../src/context-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"context-cli.js","sourceRoot":"","sources":["../src/context-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-hub-actions.d.ts","sourceRoot":"","sources":["../../src/dashboard/brain-hub-actions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"brain-hub-actions.d.ts","sourceRoot":"","sources":["../../src/dashboard/brain-hub-actions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,QAwO7B,CAAC"}
|
|
@@ -1,137 +1,234 @@
|
|
|
1
|
-
export const BRAIN_HUB_ACTIONS = String.raw `
|
|
2
|
-
async function roomWrite(input){
|
|
3
|
-
if(!state.room)throw new Error('Select a room first.');
|
|
4
|
-
state.room=await hubWrite('hub/rooms/'+encodeURIComponent(state.room.room.id)+'/actions',input);
|
|
5
|
-
}
|
|
6
|
-
async function lessonWrite(id,input){
|
|
7
|
-
const {lesson}=await hubWrite('hub/lessons/'+encodeURIComponent(id)+'/actions',input);
|
|
8
|
-
if(lesson)state.hub={...state.hub,lessons:arr(state.hub?.lessons).map(item=>item.id===id?lesson:item)};
|
|
9
|
-
return afterSave(refreshHub,...(input.kind!=='evaluate'?[refreshGraph]:[]));
|
|
10
|
-
}
|
|
11
|
-
async function inspectApprovedMemory(id){
|
|
12
|
-
state.graph=await api('graph'+projectQuery({limit:
|
|
13
|
-
openView('overview');
|
|
14
|
-
await chooseMemory('memory:'+id);
|
|
15
|
-
}
|
|
16
|
-
function handleClick(event){
|
|
17
|
-
const button=event.target.closest('button');
|
|
18
|
-
if(!button||button.disabled)return;
|
|
19
|
-
const data=button.dataset;
|
|
20
|
-
if(
|
|
21
|
-
if(data.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
if(data.
|
|
29
|
-
if(data.
|
|
30
|
-
if(data.
|
|
31
|
-
if(data.
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
if(data.
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
void
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
state.
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
const
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
const
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
},
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
},
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
1
|
+
export const BRAIN_HUB_ACTIONS = String.raw `
|
|
2
|
+
async function roomWrite(input){
|
|
3
|
+
if(!state.room)throw new Error('Select a room first.');
|
|
4
|
+
state.room=await hubWrite('hub/rooms/'+encodeURIComponent(state.room.room.id)+'/actions',input);
|
|
5
|
+
}
|
|
6
|
+
async function lessonWrite(id,input){
|
|
7
|
+
const {lesson}=await hubWrite('hub/lessons/'+encodeURIComponent(id)+'/actions',input);
|
|
8
|
+
if(lesson)state.hub={...state.hub,lessons:arr(state.hub?.lessons).map(item=>item.id===id?lesson:item)};
|
|
9
|
+
return afterSave(refreshHub,...(input.kind!=='evaluate'?[refreshGraph]:[]));
|
|
10
|
+
}
|
|
11
|
+
async function inspectApprovedMemory(id){
|
|
12
|
+
state.graph=await api('graph'+projectQuery({limit:graphMemoryLimit,memory:id}));
|
|
13
|
+
openView('overview');
|
|
14
|
+
await chooseMemory('memory:'+id);
|
|
15
|
+
}
|
|
16
|
+
function handleClick(event){
|
|
17
|
+
const button=event.target.closest('button');
|
|
18
|
+
if(!button||button.disabled)return;
|
|
19
|
+
const data=button.dataset;
|
|
20
|
+
if(handleAgentDock(button))return;
|
|
21
|
+
if(data.policyTool){void mutation(()=>saveProjectPolicy({kind:'set-tool-participation',tool:data.policyTool,enabled:data.enabled==='true'}),button,'Tool participation saved.');return;}
|
|
22
|
+
if(data.policyChat){void mutation(()=>saveProjectPolicy({kind:'set-chat-sharing',sessionId:data.policyChat,shareContext:data.enabled==='true'}),button,'Conversation sharing saved.');return;}
|
|
23
|
+
if(data.view){openView(data.view);return;}
|
|
24
|
+
if(data.project){
|
|
25
|
+
if(!state.pending&&data.project!==state.project){state.project=data.project;resetScope();render();void refresh(true);}
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
if(data.node){void chooseMemory(data.node);return;}
|
|
29
|
+
if(data.graphMemory){void focusGraphMemory(data.graphMemory,data.graphProject);return;}
|
|
30
|
+
if(data.graphFilter){filterGraph(data.graphFilter);return;}
|
|
31
|
+
if(data.inspect){state.inspector=data.inspect;renderInspector();$('inspector').querySelector('[data-inspect="'+data.inspect+'"]')?.focus({preventScroll:true});return;}
|
|
32
|
+
if(data.event){
|
|
33
|
+
setReplay(state.events.findIndex(item=>item.id===data.event));
|
|
34
|
+
const replacement=[...(button.closest('#graph-exchanges')?$('graph-exchanges'):button.closest('#timeline')?$('timeline'):button.closest('#trace-list')?$('trace-list'):$('inspector'))?.querySelectorAll('[data-event]')??[]]
|
|
35
|
+
.find(item=>item.dataset.event===data.event);
|
|
36
|
+
(replacement??$('inspector')?.querySelector('[data-inspect=event]'))?.focus({preventScroll:true});
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if(data.nativeThread){void mutation(async()=>{invalidateNativeRequest();state.nativeThreadCursor=null;state.nativeThread=await api('sessions/codex/threads/'+encodeURIComponent(data.nativeThread),{timeoutMs:15000});nativeTimer=setTimeout(()=>void refreshNativeChats(),10000);},button,'Original history page opened.');return;}
|
|
40
|
+
if(data.session){void mutation(async()=>{state.sessionBefore=null;state.sessionCheckpoint=null;state.session=await api('sessions/'+data.session);},button,'Conversation opened.');return;}
|
|
41
|
+
if(data.source){void mutation(async()=>{state.source=(await api('sources/'+encodeURIComponent(data.source))).source;},button,'Source opened.');return;}
|
|
42
|
+
if(data.document){void mutation(()=>loadDocuments(data.document),button,'Document opened.');return;}
|
|
43
|
+
if(data.page){state.docPage=Number(data.page);render();return;}
|
|
44
|
+
if(data.room){void mutation(()=>loadRoom(data.room),button,'Room opened.');return;}
|
|
45
|
+
if(data.feature){
|
|
46
|
+
if(!state.features||featureLimit(data.feature))return;
|
|
47
|
+
const feature=data.feature;
|
|
48
|
+
void mutation(async()=>{
|
|
49
|
+
state.features=await api('features',json({patch:{[feature]:!state.features.features[feature]},expectedRevision:state.features.revision}));
|
|
50
|
+
if(feature==='liveActivity'||feature==='activityRecording'){
|
|
51
|
+
if(!state.features.features.liveActivity){state.live=false;state.events=[];state.replayId=null;state.replayExpired=false;state.cursor=undefined;state.journalId=undefined;}
|
|
52
|
+
else state.live=true;
|
|
53
|
+
void refresh();
|
|
54
|
+
}
|
|
55
|
+
},button,'Feature setting saved.');return;
|
|
56
|
+
}
|
|
57
|
+
if(data.roomAction){
|
|
58
|
+
const kind=data.roomAction;
|
|
59
|
+
const payload=kind==='ack-message'||kind==='ack-artifact'?{kind:'ack',targetType:kind.slice(4),targetId:data.id,...(data.sha256?{sha256:data.sha256}:{})}:
|
|
60
|
+
kind==='accept'?{kind,artifactId:data.id}:{kind,taskId:data.id,revision:Number(data.revision)};
|
|
61
|
+
void mutation(()=>roomWrite(payload),button);return;
|
|
62
|
+
}
|
|
63
|
+
if(data.lessonAction){void mutation(()=>lessonWrite(data.id,{kind:data.lessonAction}),button);return;}
|
|
64
|
+
if(data.lessonFrom){state.lessonFrom=data.lessonFrom;openView('learning');return;}
|
|
65
|
+
if(!data.action)return;
|
|
66
|
+
if(data.action.startsWith('copy-')){
|
|
67
|
+
if(data.action==='copy-pack'&&local){
|
|
68
|
+
const pack=state.context;
|
|
69
|
+
if(!pack?.markdown)return;
|
|
70
|
+
void api('project-policy').then(result=>{
|
|
71
|
+
installPolicy(result);
|
|
72
|
+
if(state.context!==pack){render(true);status('Project controls changed. Build a fresh context pack.',true);return;}
|
|
73
|
+
return clipboard(pack.markdown);
|
|
74
|
+
}).catch(failure=>status(failure.message,true));
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
const host=arr(state.integrations?.agents).find(item=>item.id===data.host);
|
|
78
|
+
const current=displayEvent();
|
|
79
|
+
const checkpoint=arr(state.session?.checkpoints).find(item=>item.id===data.checkpoint);
|
|
80
|
+
const copies={
|
|
81
|
+
'copy-resume':checkpoint?JSON.stringify({tool:'session_resume',arguments:{sessionId:state.session.session.id,checkpointId:checkpoint.id,sha256:checkpoint.sha256,key:crypto.randomUUID()}},null,2):null,
|
|
82
|
+
'copy-host':host?.config?.content,'copy-command':host?.command,'copy-diagnostics':state.integrations?.diagnostics,
|
|
83
|
+
'copy-project-command':'shadow-brain project workspace .','copy-pack':state.context?.markdown,
|
|
84
|
+
'copy-memory':state.memory?.memory?.content??arr(state.graph?.nodes).find(node=>node.id===state.picked)?.snippet,
|
|
85
|
+
'copy-event':current?JSON.stringify(current,null,2):null,
|
|
86
|
+
};
|
|
87
|
+
void clipboard(copies[data.action]).catch(failure=>status(failure.message,true));return;
|
|
88
|
+
}
|
|
89
|
+
switch(data.action){
|
|
90
|
+
case 'managed-skill-preview':void mutation(async()=>{state.managedSkillPlan=await api('managed-skills/preview',json({id:data.id,action:data.kind}));},button,'Review the exact skill paths before applying.');break;
|
|
91
|
+
case 'managed-skill-cancel':state.managedSkillPlan=null;render(true);break;
|
|
92
|
+
case 'managed-skill-apply':void mutation(async()=>{const plan=state.managedSkillPlan;if(!plan||arr(plan.conflicts).length)return;
|
|
93
|
+
const result=await api('managed-skills/apply',json({id:plan.skill.id,action:plan.action,planHash:plan.planHash}));
|
|
94
|
+
state.managedSkillPlan=null;state.managedSkills=await api('managed-skills');delete state.errors.managedSkills;
|
|
95
|
+
return 'Managed skill '+result.finalState+'. '+result.hostRefreshNote;},button);break;
|
|
96
|
+
case 'download-example':{
|
|
97
|
+
const examples={
|
|
98
|
+
knowledge:{schemaVersion:1,kind:'knowledge',title:'Project notes',records:[{title:'Build command',content:'Run the build before release.',source:'README.md'}]},
|
|
99
|
+
transcript:{schemaVersion:1,kind:'transcript',title:'Review discussion',messages:[{role:'user',content:'Preserve Unicode.'},{role:'assistant',content:'The proposed constraint is to preserve Unicode.'}]},
|
|
100
|
+
simple:{messages:[{role:'user',content:'Preserve Unicode.'}]}
|
|
101
|
+
};
|
|
102
|
+
if(!Object.hasOwn(examples,data.example))break;
|
|
103
|
+
const url=URL.createObjectURL(new Blob([JSON.stringify(examples[data.example],null,2)+'\n'],{type:'application/json'}));
|
|
104
|
+
const link=document.createElement('a');link.href=url;link.download='shadow-brain-'+data.example+'-example.json';link.click();setTimeout(()=>URL.revokeObjectURL(url),1000);break;
|
|
105
|
+
}
|
|
106
|
+
case 'native-connect':void mutation(async()=>{invalidateNativeRequest();state.nativeConnection=await api('sessions/codex/connect',{...json({}),timeoutMs:30000});await refreshNativeChats(true);},button,'Read-only native connection opened.');break;
|
|
107
|
+
case 'native-disconnect':void mutation(async()=>{invalidateNativeRequest();nativeReload=false;state.nativeConnection=await api('sessions/codex/disconnect',json({}));state.nativeThreads=null;state.nativeThread=null;state.nativeListCursor=null;state.nativeThreadCursor=null;},button,'Native connection closed.');break;
|
|
108
|
+
case 'native-refresh':void refreshNativeChats(true);break;
|
|
109
|
+
case 'native-archive':invalidateNativeRequest();state.nativeArchived=!state.nativeArchived;state.nativeListCursor=null;state.nativeThreads=null;state.nativeThread=null;state.nativeThreadCursor=null;void refreshNativeChats(true);break;
|
|
110
|
+
case 'native-next':invalidateNativeRequest();state.nativeListCursor=data.cursor;state.nativeThread=null;state.nativeThreadCursor=null;void refreshNativeChats(true);break;
|
|
111
|
+
case 'native-first':invalidateNativeRequest();state.nativeListCursor=null;state.nativeThread=null;state.nativeThreadCursor=null;void refreshNativeChats(true);break;
|
|
112
|
+
case 'native-earlier':void mutation(async()=>{invalidateNativeRequest();state.nativeThreadCursor=data.cursor;state.nativeThread=await api('sessions/codex/threads/'+encodeURIComponent(state.nativeThread.thread.id)+'?cursor='+encodeURIComponent(data.cursor),{timeoutMs:15000});nativeTimer=setTimeout(()=>void refreshNativeChats(),10000);},button,'Earlier original history opened.');break;
|
|
113
|
+
case 'native-import':void mutation(async()=>{const result=await hubWrite('sessions/codex/threads/'+encodeURIComponent(state.nativeThread.thread.id)+'/import',{sha256:state.nativeThread.sha256,...(state.nativeThreadCursor?{cursor:state.nativeThreadCursor}:{})});state.session=result;state.sessionBefore=null;state.sessionCheckpoint=null;await refreshSessions();},button,'Original history page saved as a project snapshot.');break;
|
|
114
|
+
case 'session-checkpoint-open':void mutation(async()=>{state.sessionCheckpoint=(await api('sessions/'+state.session.session.id+'/checkpoints/'+data.checkpoint)).checkpoint;},button,'Checkpoint opened.');break;
|
|
115
|
+
case 'session-policy':state.policySelection=data.sessionPolicy;openView('setup');break;
|
|
116
|
+
case 'session-older':void mutation(async()=>{state.sessionBefore=data.before;await refreshSessions();},button,'Earlier messages loaded.');break;
|
|
117
|
+
case 'session-latest':void mutation(async()=>{state.sessionBefore=null;await refreshSessions();},button,'Latest messages loaded.');break;
|
|
118
|
+
case 'session-status':void mutation(async()=>{state.session=await hubWrite('sessions/'+state.session.session.id+'/actions',{kind:'status',status:data.status,expectedRevision:state.session.session.revision});await refreshSessions();},button,'Reported status saved.');break;
|
|
119
|
+
case 'session-resume':void mutation(async()=>{const cp=arr(state.session.checkpoints).find(item=>item.id===data.checkpoint);if(!cp)throw new Error('Choose a saved checkpoint.');state.sessionBefore=null;state.sessionCheckpoint=null;state.session=await hubWrite('sessions/'+state.session.session.id+'/resume',{checkpointId:cp.id,sha256:cp.sha256});await refreshSessions();},button,'New portal session created from this checkpoint.');break;
|
|
120
|
+
case 'import-session':void mutation(async()=>{if(!state.source)throw new Error('Choose a reviewed transcript.');state.session=await hubWrite('sessions/import',{sourceId:state.source.id});openView('sessions');await refreshSessions();},button,'Reviewed conversation snapshot opened.');break;
|
|
121
|
+
case 'source-evidence':void mutation(async()=>{state.evidence=await api('memory-evidence?'+new URLSearchParams({memoryId:data.memory}));if(state.view!=='knowledge')openView('knowledge');},button,'Source checked.');break;
|
|
122
|
+
case 'close-evidence':state.evidence=null;render(true);break;
|
|
123
|
+
case 'toggle-feedback':void mutation(async()=>{state.feedback=await api('project-feedback',json({kind:'toggle',enabled:!state.feedback.enabled,expectedRevision:state.feedback.revision}));},button,'Learning preference saved.');break;
|
|
124
|
+
case 'remove-feedback':void mutation(async()=>{state.feedback=await api('project-feedback',json({kind:'remove',id:data.feedback,expectedRevision:state.feedback.revision}));},button,'Feedback removed.');break;
|
|
125
|
+
case 'refresh':void refresh(true);break;
|
|
126
|
+
case 'refresh-room':void mutation(async()=>{await refreshHub();if(state.room)await loadRoom(state.room.room.id);},button,'Room refreshed.');break;
|
|
127
|
+
case 'graph':case 'trace':
|
|
128
|
+
state.graphMode=data.action;state.listing=false;state.pulseIds=[];render();$('main').querySelector('[data-action="'+data.action+'"]')?.focus();break;
|
|
129
|
+
case 'node-list':{
|
|
130
|
+
state.listing=!state.listing;button.setAttribute('aria-expanded',String(state.listing));
|
|
131
|
+
const target=$('node-list');target.hidden=!state.listing;syncGraphControls();drawGraph();if(state.listing)$('graph-search')?.focus();break;
|
|
132
|
+
}
|
|
133
|
+
case 'clear-graph-search':void findGraphMemories('');$('graph-search')?.focus();break;
|
|
134
|
+
case 'graph-zoom-in':if(button.getAttribute('aria-disabled')!=='true')zoomGraph(1);break;
|
|
135
|
+
case 'graph-zoom-out':if(button.getAttribute('aria-disabled')!=='true')zoomGraph(-1);break;
|
|
136
|
+
case 'graph-fit':zoomGraph('fit');break;
|
|
137
|
+
case 'clear-focus':state.focus=false;renderInspector();drawGraph();$('main').querySelector('[data-action=graph]')?.focus({preventScroll:true});break;
|
|
138
|
+
case 'pause':state.motionPaused=!state.motionPaused;state.pulseIds=[];updateOverviewLive();break;
|
|
139
|
+
case 'inspect-latest':state.inspector='event';renderInspector();break;
|
|
140
|
+
case 'live':state.replayId=null;state.replayExpired=false;renderChrome();updateOverviewLive();$('replay')?.focus({preventScroll:true});break;
|
|
141
|
+
case 'open-memory':void inspectApprovedMemory(data.memory).catch(failure=>status(failure.message,true));break;
|
|
142
|
+
case 'apply-skill':void mutation(async()=>{
|
|
143
|
+
if(!state.skill?.planHash||!state.skillInput)throw new Error('Preview a project skill before applying it.');
|
|
144
|
+
state.skill={...await api('project-skill-apply',json({...state.skillInput,expectedPlanHash:state.skill.planHash})),applied:true};
|
|
145
|
+
},button,'Reviewed project skill applied.');break;
|
|
146
|
+
case 'review-page':void mutation(async()=>{
|
|
147
|
+
const id=state.documents?.document?.id;
|
|
148
|
+
if(!id)throw new Error('Choose a document page first.');
|
|
149
|
+
state.documents=await hubWrite('hub/documents/'+encodeURIComponent(id)+'/review',{page:state.docPage,decision:data.decision});
|
|
150
|
+
return afterSave(refreshHub,refreshGraph);
|
|
151
|
+
},button,data.decision==='approve'?'Page approved and added to project memory.':'Page rejected.');break;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
function handleSubmit(event){
|
|
155
|
+
const target=event.target;
|
|
156
|
+
if(target.id==='graph-find-form'){
|
|
157
|
+
event.preventDefault();
|
|
158
|
+
void findGraphMemories(field(new FormData(target),'query'));return;
|
|
159
|
+
}
|
|
160
|
+
const kind=target.dataset.form;
|
|
161
|
+
if(!kind)return;
|
|
162
|
+
event.preventDefault();
|
|
163
|
+
const form=new FormData(target,event.submitter),button=event.submitter;
|
|
164
|
+
const tasks={
|
|
165
|
+
'policy-context':()=>saveProjectPolicy({kind:'set-context-limits',context:{maxTokens:Number(form.get('maxTokens')),maxEntries:Number(form.get('maxEntries'))}}),
|
|
166
|
+
'policy-role':()=>saveProjectPolicy({kind:'set-session-role',sessionId:target.dataset.id,role:field(form,'role')||null}),
|
|
167
|
+
'native-export':async()=>{const file=form.get('export');if(!(file instanceof File)||!file.size)throw new Error('Choose a native export.');if(file.size>2*1024*1024)throw new Error('Choose an export smaller than 2 MiB.');const query=new URLSearchParams({tool:field(form,'tool'),name:file.name,key:crypto.randomUUID()});state.session=await api('sessions/native?'+query,{method:'POST',body:file,headers:{'Content-Type':file.name.endsWith('.zip')?'application/zip':'application/octet-stream'},timeoutMs:15000});state.sessionBefore=null;state.sessionCheckpoint=null;await refreshSessions();},
|
|
168
|
+
'session-open':async()=>{state.sessionBefore=null;state.sessionCheckpoint=null;state.session=await hubWrite('sessions',{title:field(form,'title'),goal:field(form,'goal')});await refreshSessions();},
|
|
169
|
+
'session-note':async()=>{state.session=await hubWrite('sessions/'+state.session.session.id+'/actions',{kind:'message',role:'note',text:field(form,'text'),expectedRevision:state.session.session.revision});await refreshSessions();},
|
|
170
|
+
'session-checkpoint':async()=>{const input={kind:'checkpoint',summary:field(form,'summary'),expectedRevision:state.session.session.revision};for(const name of ['decisions','completed','nextSteps','evidence'])input[name]=field(form,name).split(/\r?\n/).map(item=>item.trim()).filter(Boolean);state.session=await hubWrite('sessions/'+state.session.session.id+'/actions',input);await refreshSessions();},
|
|
171
|
+
teach:async()=>{
|
|
172
|
+
state.teachDraft=field(form,'text');
|
|
173
|
+
const save=form.get('mode')==='save';
|
|
174
|
+
state.source=(await api(save?'sources/remember':'sources?name=My-notes.txt',{method:'POST',body:state.teachDraft,headers:{'Content-Type':'text/plain'},timeoutMs:30000})).source;
|
|
175
|
+
await afterSave(async()=>{state.sources=await api('sources');},...(save?[refreshGraph]:[]));
|
|
176
|
+
},
|
|
177
|
+
'source-upload':async()=>{
|
|
178
|
+
const file=form.get('source');if(!(file instanceof File)||!file.size)throw new Error('Choose a text, Markdown or JSON file.');
|
|
179
|
+
if(file.size>1024*1024)throw new Error('Choose a file smaller than 1 MiB.');
|
|
180
|
+
state.source=(await api('sources?'+new URLSearchParams({name:file.name}),{method:'POST',body:file,headers:{'Content-Type':file.name.toLowerCase().endsWith('.json')?'application/json':'text/plain'}})).source;
|
|
181
|
+
state.sources=await api('sources');
|
|
182
|
+
},
|
|
183
|
+
'source-review':async()=>{
|
|
184
|
+
if(!state.source)throw new Error('Choose a source first.');
|
|
185
|
+
const decision=field(form,'decision');
|
|
186
|
+
const input={itemId:target.dataset.item,decision,...(decision==='approve'?{title:field(form,'title'),text:field(form,'text'),category:field(form,'category')}: {})};
|
|
187
|
+
state.source=(await hubWrite('sources/'+state.source.id+'/review',input)).source;
|
|
188
|
+
return afterSave(async()=>{state.sources=await api('sources');},refreshGraph);
|
|
189
|
+
},
|
|
190
|
+
feedback:async()=>{
|
|
191
|
+
state.feedback=await api('project-feedback',json({kind:'upsert',memoryId:field(form,'memoryId'),task:field(form,'task'),rating:field(form,'rating'),reason:field(form,'reason'),expectedRevision:state.feedback.revision}));
|
|
192
|
+
},
|
|
193
|
+
context:async()=>{
|
|
194
|
+
const input={projectId:state.project,query:field(form,'query'),tokenBudget:Number(form.get('tokenBudget')),profile:field(form,'profile'),expandRelated:form.has('expandRelated')};
|
|
195
|
+
state.contextInput=input;
|
|
196
|
+
if(form.get('compare')==='yes'){state.comparison=await api('context-compare',json(input));state.context=state.comparison[input.profile];}
|
|
197
|
+
else {state.context=await api('context',json(input));state.comparison=null;}
|
|
198
|
+
},
|
|
199
|
+
upload:async()=>{
|
|
200
|
+
const pdf=form.get('pdf');
|
|
201
|
+
if(!(pdf instanceof File)||!pdf.size)throw new Error('Choose a PDF to upload.');
|
|
202
|
+
if(state.hub?.limits?.pdfBytes&&pdf.size>state.hub.limits.pdfBytes)throw new Error('The PDF exceeds this workspace’s upload limit.');
|
|
203
|
+
state.documents=await api('hub/documents?'+new URLSearchParams({name:pdf.name}),{method:'POST',body:pdf,headers:{'Content-Type':'application/pdf'},timeoutMs:30000});
|
|
204
|
+
state.docPage=arr(state.documents.pages)[0]?.page??1;
|
|
205
|
+
return afterSave(refreshHub);
|
|
206
|
+
},
|
|
207
|
+
knowledge:async()=>{
|
|
208
|
+
const input={title:field(form,'title'),content:field(form,'content')};
|
|
209
|
+
const source=field(form,'source');if(source)input.source=source;
|
|
210
|
+
await api('project-knowledge',json(input));return afterSave(refreshGraph);
|
|
211
|
+
},
|
|
212
|
+
skill:async()=>{
|
|
213
|
+
const input={requirement:field(form,'requirement'),target:field(form,'target')};
|
|
214
|
+
const name=field(form,'name'),knowledge=field(form,'knowledge');
|
|
215
|
+
if(name)input.name=name;if(knowledge)input.knowledge=knowledge;
|
|
216
|
+
state.skill=await api('project-skill-preview',json(input));state.skillInput=input;
|
|
217
|
+
},
|
|
218
|
+
room:async()=>{state.room=await hubWrite('hub/rooms',{goal:field(form,'goal')});return afterSave(refreshHub);},
|
|
219
|
+
message:async()=>{const replyTo=field(form,'replyTo');await roomWrite({kind:'message',type:field(form,'type'),text:field(form,'text'),...(replyTo?{replyTo}:{})});},
|
|
220
|
+
task:()=>roomWrite({kind:'task',title:field(form,'title')}),
|
|
221
|
+
artifact:async()=>{
|
|
222
|
+
const taskId=field(form,'taskId'),task=arr(state.room?.tasks).find(item=>item.id===taskId);
|
|
223
|
+
if(!task)throw new Error('Choose a claimed task.');
|
|
224
|
+
await roomWrite({kind:'artifact',taskId,revision:task.revision,path:field(form,'path')});
|
|
225
|
+
},
|
|
226
|
+
outcome:()=>{const artifactId=field(form,'artifactId');return roomWrite({kind:'outcome',taskId:field(form,'taskId'),result:field(form,'result'),check:field(form,'check'),evidence:field(form,'evidence'),...(artifactId?{artifactId}:{})});},
|
|
227
|
+
lesson:async()=>{const {lesson}=await hubWrite('hub/lessons',{outcomeId:field(form,'outcomeId'),title:field(form,'title'),text:field(form,'text')});if(lesson)state.hub={...state.hub,lessons:[...arr(state.hub?.lessons),lesson]};state.lessonFrom=null;return afterSave(refreshHub);},
|
|
228
|
+
evaluate:()=>lessonWrite(target.dataset.id,{kind:'evaluate',baseline:form.has('baseline'),candidate:form.has('candidate'),control:form.has('control'),evidence:field(form,'evidence')}),
|
|
229
|
+
};
|
|
230
|
+
const operation=tasks[kind];
|
|
231
|
+
if(operation)void mutation(operation,button,kind==='teach'?(form.get('mode')==='save'?'Added to project memory. Try a related question in Context.':'Notes organized. Review each part before saving.'):kind==='source-upload'?'Source ready for review.':kind==='source-review'?'Review saved.':kind==='upload'?'PDF intake recorded.':kind==='context'?'Context pack assembled.':'Saved.');
|
|
232
|
+
}
|
|
136
233
|
`;
|
|
137
234
|
//# sourceMappingURL=brain-hub-actions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-hub-actions.js","sourceRoot":"","sources":["../../src/dashboard/brain-hub-actions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"brain-hub-actions.js","sourceRoot":"","sources":["../../src/dashboard/brain-hub-actions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwO1C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brain-hub-agent-dock.d.ts","sourceRoot":"","sources":["../../src/dashboard/brain-hub-agent-dock.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,QA4PhC,CAAC"}
|