@bradygaster/squad-sdk 0.9.6-insider.2 → 0.10.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/dist/adapter/client.d.ts.map +1 -1
- package/dist/adapter/client.js +16 -3
- package/dist/adapter/client.js.map +1 -1
- package/dist/adapter/types.d.ts +6 -1
- package/dist/adapter/types.d.ts.map +1 -1
- package/dist/agents/charter-compiler.d.ts +2 -0
- package/dist/agents/charter-compiler.d.ts.map +1 -1
- package/dist/agents/charter-compiler.js +6 -1
- package/dist/agents/charter-compiler.js.map +1 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +24 -25
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/lifecycle.d.ts.map +1 -1
- package/dist/agents/lifecycle.js +11 -2
- package/dist/agents/lifecycle.js.map +1 -1
- package/dist/agents/onboarding.d.ts.map +1 -1
- package/dist/agents/onboarding.js +24 -0
- package/dist/agents/onboarding.js.map +1 -1
- package/dist/config/agent-source.d.ts.map +1 -1
- package/dist/config/agent-source.js +60 -33
- package/dist/config/agent-source.js.map +1 -1
- package/dist/config/feature-audit.js +1 -1
- package/dist/config/feature-audit.js.map +1 -1
- package/dist/config/init.d.ts +4 -0
- package/dist/config/init.d.ts.map +1 -1
- package/dist/config/init.js +177 -44
- package/dist/config/init.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/marketplace/index.d.ts +7 -0
- package/dist/marketplace/index.d.ts.map +1 -1
- package/dist/marketplace/index.js +4 -0
- package/dist/marketplace/index.js.map +1 -1
- package/dist/marketplace/plugin-manifest.d.ts +113 -0
- package/dist/marketplace/plugin-manifest.d.ts.map +1 -0
- package/dist/marketplace/plugin-manifest.js +820 -0
- package/dist/marketplace/plugin-manifest.js.map +1 -0
- package/dist/marketplace/plugin-runtime.d.ts +37 -0
- package/dist/marketplace/plugin-runtime.d.ts.map +1 -0
- package/dist/marketplace/plugin-runtime.js +217 -0
- package/dist/marketplace/plugin-runtime.js.map +1 -0
- package/dist/marketplace/plugin-state.d.ts +89 -0
- package/dist/marketplace/plugin-state.d.ts.map +1 -0
- package/dist/marketplace/plugin-state.js +278 -0
- package/dist/marketplace/plugin-state.js.map +1 -0
- package/dist/memory/index.d.ts +262 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +1122 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/multi-squad.d.ts.map +1 -1
- package/dist/multi-squad.js +5 -2
- package/dist/multi-squad.js.map +1 -1
- package/dist/platform/azure-devops.d.ts.map +1 -1
- package/dist/platform/azure-devops.js +17 -3
- package/dist/platform/azure-devops.js.map +1 -1
- package/dist/platform/detect.d.ts.map +1 -1
- package/dist/platform/detect.js +12 -5
- package/dist/platform/detect.js.map +1 -1
- package/dist/platform/index.d.ts.map +1 -1
- package/dist/platform/index.js +26 -0
- package/dist/platform/index.js.map +1 -1
- package/dist/ralph/triage.js +1 -1
- package/dist/ralph/triage.js.map +1 -1
- package/dist/resolution.d.ts +18 -0
- package/dist/resolution.d.ts.map +1 -1
- package/dist/resolution.js +64 -2
- package/dist/resolution.js.map +1 -1
- package/dist/runtime/memory-value-benchmark.d.ts +61 -0
- package/dist/runtime/memory-value-benchmark.d.ts.map +1 -0
- package/dist/runtime/memory-value-benchmark.js +245 -0
- package/dist/runtime/memory-value-benchmark.js.map +1 -0
- package/dist/runtime/scheduler.d.ts +8 -0
- package/dist/runtime/scheduler.d.ts.map +1 -1
- package/dist/runtime/scheduler.js +52 -5
- package/dist/runtime/scheduler.js.map +1 -1
- package/dist/sharing/export.d.ts +1 -0
- package/dist/sharing/export.d.ts.map +1 -1
- package/dist/sharing/export.js +10 -0
- package/dist/sharing/export.js.map +1 -1
- package/dist/sharing/import.d.ts.map +1 -1
- package/dist/sharing/import.js +3 -2
- package/dist/sharing/import.js.map +1 -1
- package/dist/sharing/index.d.ts +1 -0
- package/dist/sharing/index.d.ts.map +1 -1
- package/dist/sharing/index.js +1 -0
- package/dist/sharing/index.js.map +1 -1
- package/dist/sharing/repo-sync.d.ts +80 -0
- package/dist/sharing/repo-sync.d.ts.map +1 -0
- package/dist/sharing/repo-sync.js +138 -0
- package/dist/sharing/repo-sync.js.map +1 -0
- package/dist/state-backend.d.ts +154 -9
- package/dist/state-backend.d.ts.map +1 -1
- package/dist/state-backend.js +729 -184
- package/dist/state-backend.js.map +1 -1
- package/dist/tools/index.d.ts +39 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +395 -2
- package/dist/tools/index.js.map +1 -1
- package/dist/utils/map-with-limit.d.ts +37 -0
- package/dist/utils/map-with-limit.d.ts.map +1 -0
- package/dist/utils/map-with-limit.js +81 -0
- package/dist/utils/map-with-limit.js.map +1 -0
- package/package.json +6 -2
- package/templates/after-agent-reference.md +64 -0
- package/templates/ceremony-reference.md +82 -0
- package/templates/client-compatibility-reference.md +46 -0
- package/templates/copilot-agent.md +96 -0
- package/templates/copilot-instructions.md +14 -0
- package/templates/model-selection-reference.md +101 -0
- package/templates/prd-intake.md +105 -0
- package/templates/rai-charter.md +110 -0
- package/templates/rai-policy.md +103 -0
- package/templates/ralph-reference.md +141 -0
- package/templates/routing.md +1 -0
- package/templates/scribe-charter.md +18 -151
- package/templates/session-init-reference.md +199 -0
- package/templates/skills/e2e-template-testing/SKILL.md +557 -0
- package/templates/skills/fact-checking/SKILL.md +61 -0
- package/templates/spawn-reference.md +131 -0
- package/templates/squad.agent.md.template +200 -625
- package/templates/workflow-wiring-appendix-a-code-reviewer.md +131 -0
- package/templates/workflow-wiring-appendix-b-documenter.md +140 -0
- package/templates/workflow-wiring-guide.md +276 -0
- package/templates/workflows/squad-heartbeat.yml +167 -167
- package/templates/worktree-reference.md +126 -0
package/dist/tools/index.js
CHANGED
|
@@ -13,11 +13,13 @@ import * as path from 'node:path';
|
|
|
13
13
|
import { randomUUID } from 'node:crypto';
|
|
14
14
|
import { trace, SpanStatusCode } from '../runtime/otel-api.js';
|
|
15
15
|
import { FSStorageProvider } from '../storage/fs-storage-provider.js';
|
|
16
|
+
import { validateStateKey } from '../state-backend.js';
|
|
16
17
|
import { spawnParallel } from '../coordinator/fan-out.js';
|
|
18
|
+
import { LocalMemoryStore } from '../memory/index.js';
|
|
17
19
|
const tracer = trace.getTracer('squad-sdk');
|
|
18
20
|
// --- Argument Sanitization ---
|
|
19
21
|
/** Sensitive field patterns — strip before recording as span attributes. */
|
|
20
|
-
const SENSITIVE_PATTERNS =
|
|
22
|
+
const SENSITIVE_PATTERNS = /^(content|query)$|token|secret|password|key|auth/i;
|
|
21
23
|
/**
|
|
22
24
|
* Sanitize tool arguments for OTel span attributes.
|
|
23
25
|
* Strips any field whose name matches sensitive patterns (case-insensitive).
|
|
@@ -106,6 +108,38 @@ function sanitizeErrorForLlm(error, squadRoot) {
|
|
|
106
108
|
const firstLine = stripped.split('\n')[0] ?? stripped;
|
|
107
109
|
return firstLine.slice(0, 512);
|
|
108
110
|
}
|
|
111
|
+
function normalizeStateToolKey(key) {
|
|
112
|
+
const normalized = key
|
|
113
|
+
.replace(/\\/g, '/')
|
|
114
|
+
.replace(/^\/+/, '')
|
|
115
|
+
.replace(/^\.squad(?:\/|$)/, '')
|
|
116
|
+
.replace(/\/+$/, '');
|
|
117
|
+
validateStateKey(normalized);
|
|
118
|
+
return normalized;
|
|
119
|
+
}
|
|
120
|
+
function normalizeStateToolDir(dir) {
|
|
121
|
+
const normalized = (dir ?? '')
|
|
122
|
+
.replace(/\\/g, '/')
|
|
123
|
+
.replace(/^\/+/, '')
|
|
124
|
+
.replace(/^\.squad(?:\/|$)/, '')
|
|
125
|
+
.replace(/\/+$/, '');
|
|
126
|
+
if (normalized.length > 0) {
|
|
127
|
+
validateStateKey(normalized);
|
|
128
|
+
}
|
|
129
|
+
return normalized;
|
|
130
|
+
}
|
|
131
|
+
function validateMutableStateToolKey(key) {
|
|
132
|
+
const isMutable = key === 'decisions.md' ||
|
|
133
|
+
key.startsWith('decisions/inbox/') ||
|
|
134
|
+
/^agents\/[a-zA-Z0-9_-]+\/history\.md$/.test(key) ||
|
|
135
|
+
key.startsWith('log/') ||
|
|
136
|
+
key.startsWith('orchestration-log/') ||
|
|
137
|
+
key.startsWith('sessions/') ||
|
|
138
|
+
key.startsWith('.scratch/');
|
|
139
|
+
if (!isMutable) {
|
|
140
|
+
throw new Error('State mutations are limited to mutable runtime state (decisions, inbox, logs, sessions, scratch files, and agent history). Static config such as config.json, team.md, routing.md, charters, templates, and skills must not be changed with state tools.');
|
|
141
|
+
}
|
|
142
|
+
}
|
|
109
143
|
// --- Tool Registry ---
|
|
110
144
|
export class ToolRegistry {
|
|
111
145
|
tools = new Map();
|
|
@@ -114,12 +148,17 @@ export class ToolRegistry {
|
|
|
114
148
|
storage;
|
|
115
149
|
state;
|
|
116
150
|
fanOutDepsGetter;
|
|
117
|
-
|
|
151
|
+
memoryStore;
|
|
152
|
+
constructor(squadRoot = '.squad', sessionPoolGetter, storage = new FSStorageProvider(), state, fanOutDepsGetter, hostInjectedCopilotAdapterClient) {
|
|
118
153
|
this.squadRoot = squadRoot;
|
|
119
154
|
this.sessionPoolGetter = sessionPoolGetter;
|
|
120
155
|
this.storage = storage;
|
|
121
156
|
this.state = state;
|
|
122
157
|
this.fanOutDepsGetter = fanOutDepsGetter;
|
|
158
|
+
this.memoryStore = new LocalMemoryStore(storage, squadRoot, {
|
|
159
|
+
rootKind: 'squad',
|
|
160
|
+
hostInjectedCopilotAdapterClient,
|
|
161
|
+
});
|
|
123
162
|
this.registerSquadTools();
|
|
124
163
|
}
|
|
125
164
|
registerSquadTools() {
|
|
@@ -425,6 +464,348 @@ export class ToolRegistry {
|
|
|
425
464
|
}
|
|
426
465
|
},
|
|
427
466
|
});
|
|
467
|
+
const stateRead = defineTool({
|
|
468
|
+
name: 'squad_state_read',
|
|
469
|
+
description: 'Read mutable Squad state by key through the configured state backend. Keys are relative to .squad/; do not use shell git or direct file reads for mutable state.',
|
|
470
|
+
parameters: {
|
|
471
|
+
type: 'object',
|
|
472
|
+
properties: {
|
|
473
|
+
key: { type: 'string', description: 'State key relative to .squad/, for example decisions.md or agents/data/history.md' },
|
|
474
|
+
},
|
|
475
|
+
required: ['key'],
|
|
476
|
+
},
|
|
477
|
+
handler: async (args) => {
|
|
478
|
+
try {
|
|
479
|
+
const key = normalizeStateToolKey(args.key);
|
|
480
|
+
const content = this.storage.readSync(path.join(this.squadRoot, key));
|
|
481
|
+
if (content === undefined) {
|
|
482
|
+
return {
|
|
483
|
+
textResultForLlm: `State key not found: ${key}`,
|
|
484
|
+
resultType: 'failure',
|
|
485
|
+
error: 'State key does not exist',
|
|
486
|
+
};
|
|
487
|
+
}
|
|
488
|
+
return {
|
|
489
|
+
textResultForLlm: content,
|
|
490
|
+
resultType: 'success',
|
|
491
|
+
toolTelemetry: { key },
|
|
492
|
+
};
|
|
493
|
+
}
|
|
494
|
+
catch (error) {
|
|
495
|
+
return {
|
|
496
|
+
textResultForLlm: `Failed to read state: ${sanitizeErrorForLlm(error, this.squadRoot)}`,
|
|
497
|
+
resultType: 'failure',
|
|
498
|
+
error: String(error),
|
|
499
|
+
};
|
|
500
|
+
}
|
|
501
|
+
},
|
|
502
|
+
});
|
|
503
|
+
const stateWrite = defineTool({
|
|
504
|
+
name: 'squad_state_write',
|
|
505
|
+
description: 'Write mutable Squad state through the configured state backend. Always use this tool for mutable state when available. Keys are relative to .squad/; static config such as config.json, team.md, routing.md, charters, templates, and skills is not mutable state.',
|
|
506
|
+
parameters: {
|
|
507
|
+
type: 'object',
|
|
508
|
+
properties: {
|
|
509
|
+
key: { type: 'string', description: 'State key relative to .squad/' },
|
|
510
|
+
content: { type: 'string', description: 'Complete content to store at the key' },
|
|
511
|
+
},
|
|
512
|
+
required: ['key', 'content'],
|
|
513
|
+
},
|
|
514
|
+
handler: async (args) => {
|
|
515
|
+
if (args['content'] == null ||
|
|
516
|
+
typeof args['content'] !== 'string') {
|
|
517
|
+
return {
|
|
518
|
+
textResultForLlm: 'Failed to write state: content is required and must be a string',
|
|
519
|
+
resultType: 'failure',
|
|
520
|
+
error: 'content is required',
|
|
521
|
+
};
|
|
522
|
+
}
|
|
523
|
+
try {
|
|
524
|
+
const key = normalizeStateToolKey(args.key);
|
|
525
|
+
validateMutableStateToolKey(key);
|
|
526
|
+
this.storage.writeSync(path.join(this.squadRoot, key), args.content);
|
|
527
|
+
return {
|
|
528
|
+
textResultForLlm: `State written: ${key}`,
|
|
529
|
+
resultType: 'success',
|
|
530
|
+
toolTelemetry: { key },
|
|
531
|
+
};
|
|
532
|
+
}
|
|
533
|
+
catch (error) {
|
|
534
|
+
return {
|
|
535
|
+
textResultForLlm: `Failed to write state: ${sanitizeErrorForLlm(error, this.squadRoot)}`,
|
|
536
|
+
resultType: 'failure',
|
|
537
|
+
error: String(error),
|
|
538
|
+
};
|
|
539
|
+
}
|
|
540
|
+
},
|
|
541
|
+
});
|
|
542
|
+
const stateAppend = defineTool({
|
|
543
|
+
name: 'squad_state_append',
|
|
544
|
+
description: 'Append to mutable Squad state through the configured state backend. Always use this tool for mutable state when available. Keys are relative to .squad/; static config cannot be mutated through this tool.',
|
|
545
|
+
parameters: {
|
|
546
|
+
type: 'object',
|
|
547
|
+
properties: {
|
|
548
|
+
key: { type: 'string', description: 'State key relative to .squad/' },
|
|
549
|
+
content: { type: 'string', description: 'Content to append' },
|
|
550
|
+
},
|
|
551
|
+
required: ['key', 'content'],
|
|
552
|
+
},
|
|
553
|
+
handler: async (args) => {
|
|
554
|
+
if (args['content'] == null ||
|
|
555
|
+
typeof args['content'] !== 'string') {
|
|
556
|
+
return {
|
|
557
|
+
textResultForLlm: 'Failed to append state: content is required and must be a string',
|
|
558
|
+
resultType: 'failure',
|
|
559
|
+
error: 'content is required',
|
|
560
|
+
};
|
|
561
|
+
}
|
|
562
|
+
try {
|
|
563
|
+
const key = normalizeStateToolKey(args.key);
|
|
564
|
+
validateMutableStateToolKey(key);
|
|
565
|
+
this.storage.appendSync(path.join(this.squadRoot, key), args.content);
|
|
566
|
+
return {
|
|
567
|
+
textResultForLlm: `State appended: ${key}`,
|
|
568
|
+
resultType: 'success',
|
|
569
|
+
toolTelemetry: { key },
|
|
570
|
+
};
|
|
571
|
+
}
|
|
572
|
+
catch (error) {
|
|
573
|
+
return {
|
|
574
|
+
textResultForLlm: `Failed to append state: ${sanitizeErrorForLlm(error, this.squadRoot)}`,
|
|
575
|
+
resultType: 'failure',
|
|
576
|
+
error: String(error),
|
|
577
|
+
};
|
|
578
|
+
}
|
|
579
|
+
},
|
|
580
|
+
});
|
|
581
|
+
const stateDelete = defineTool({
|
|
582
|
+
name: 'squad_state_delete',
|
|
583
|
+
description: 'Delete mutable Squad state through the configured state backend. Always use this tool for mutable state when available. Keys are relative to .squad/; static config cannot be deleted through this tool.',
|
|
584
|
+
parameters: {
|
|
585
|
+
type: 'object',
|
|
586
|
+
properties: {
|
|
587
|
+
key: { type: 'string', description: 'State key relative to .squad/' },
|
|
588
|
+
},
|
|
589
|
+
required: ['key'],
|
|
590
|
+
},
|
|
591
|
+
handler: async (args) => {
|
|
592
|
+
try {
|
|
593
|
+
const key = normalizeStateToolKey(args.key);
|
|
594
|
+
validateMutableStateToolKey(key);
|
|
595
|
+
this.storage.deleteSync(path.join(this.squadRoot, key));
|
|
596
|
+
return {
|
|
597
|
+
textResultForLlm: `State deleted: ${key}`,
|
|
598
|
+
resultType: 'success',
|
|
599
|
+
toolTelemetry: { key },
|
|
600
|
+
};
|
|
601
|
+
}
|
|
602
|
+
catch (error) {
|
|
603
|
+
return {
|
|
604
|
+
textResultForLlm: `Failed to delete state: ${sanitizeErrorForLlm(error, this.squadRoot)}`,
|
|
605
|
+
resultType: 'failure',
|
|
606
|
+
error: String(error),
|
|
607
|
+
};
|
|
608
|
+
}
|
|
609
|
+
},
|
|
610
|
+
});
|
|
611
|
+
const stateList = defineTool({
|
|
612
|
+
name: 'squad_state_list',
|
|
613
|
+
description: 'List mutable Squad state entries through the configured state backend. Directories are relative to .squad/.',
|
|
614
|
+
parameters: {
|
|
615
|
+
type: 'object',
|
|
616
|
+
properties: {
|
|
617
|
+
dir: { type: 'string', description: 'Directory relative to .squad/; omit for root' },
|
|
618
|
+
},
|
|
619
|
+
},
|
|
620
|
+
handler: async (args) => {
|
|
621
|
+
try {
|
|
622
|
+
const dir = normalizeStateToolDir(args.dir);
|
|
623
|
+
const entries = this.storage.listSync(path.join(this.squadRoot, dir));
|
|
624
|
+
return {
|
|
625
|
+
textResultForLlm: entries.length > 0 ? entries.join('\n') : '(empty)',
|
|
626
|
+
resultType: 'success',
|
|
627
|
+
toolTelemetry: { dir },
|
|
628
|
+
};
|
|
629
|
+
}
|
|
630
|
+
catch (error) {
|
|
631
|
+
return {
|
|
632
|
+
textResultForLlm: `Failed to list state: ${sanitizeErrorForLlm(error, this.squadRoot)}`,
|
|
633
|
+
resultType: 'failure',
|
|
634
|
+
error: String(error),
|
|
635
|
+
};
|
|
636
|
+
}
|
|
637
|
+
},
|
|
638
|
+
});
|
|
639
|
+
const stateHealth = defineTool({
|
|
640
|
+
name: 'squad_state_health',
|
|
641
|
+
description: 'Report the active Squad state storage layer so agents can verify they are using runtime-owned state instead of manual git/file choreography.',
|
|
642
|
+
parameters: { type: 'object', properties: {} },
|
|
643
|
+
handler: async () => ({
|
|
644
|
+
textResultForLlm: `State backend storage: ${this.storage.constructor.name}`,
|
|
645
|
+
resultType: 'success',
|
|
646
|
+
toolTelemetry: { storage: this.storage.constructor.name },
|
|
647
|
+
}),
|
|
648
|
+
});
|
|
649
|
+
const memoryClassify = defineTool({
|
|
650
|
+
name: 'memory.classify',
|
|
651
|
+
description: 'Classify proposed memory with Squad governance policy without persisting content.',
|
|
652
|
+
parameters: {
|
|
653
|
+
type: 'object',
|
|
654
|
+
properties: {
|
|
655
|
+
content: { type: 'string', description: 'Memory content to classify' },
|
|
656
|
+
class: {
|
|
657
|
+
type: 'string',
|
|
658
|
+
enum: ['TRANSIENT', 'LOCAL', 'DECISION', 'POLICY', 'COPILOT_MEMORY', 'FORBIDDEN'],
|
|
659
|
+
description: 'Optional requested memory class',
|
|
660
|
+
},
|
|
661
|
+
},
|
|
662
|
+
required: ['content'],
|
|
663
|
+
},
|
|
664
|
+
handler: async (args) => {
|
|
665
|
+
const classification = await this.memoryStore.classify({
|
|
666
|
+
content: args.content,
|
|
667
|
+
requestedClass: args.class,
|
|
668
|
+
}, {
|
|
669
|
+
audit: true,
|
|
670
|
+
actor: args.author,
|
|
671
|
+
title: args.title,
|
|
672
|
+
});
|
|
673
|
+
return {
|
|
674
|
+
textResultForLlm: `${classification.class}: ${classification.reason}`,
|
|
675
|
+
resultType: classification.allowed ? 'success' : 'failure',
|
|
676
|
+
toolTelemetry: { classification },
|
|
677
|
+
};
|
|
678
|
+
},
|
|
679
|
+
});
|
|
680
|
+
const memoryWrite = defineTool({
|
|
681
|
+
name: 'memory.write',
|
|
682
|
+
description: 'Classify and write governed local Squad memory. External semantic memory requires an explicit configured bridge.',
|
|
683
|
+
parameters: {
|
|
684
|
+
type: 'object',
|
|
685
|
+
properties: {
|
|
686
|
+
content: { type: 'string', description: 'Memory content to persist' },
|
|
687
|
+
title: { type: 'string', description: 'Short memory title' },
|
|
688
|
+
author: { type: 'string', description: 'Actor requesting the write' },
|
|
689
|
+
class: {
|
|
690
|
+
type: 'string',
|
|
691
|
+
enum: ['TRANSIENT', 'LOCAL', 'DECISION', 'POLICY', 'COPILOT_MEMORY', 'FORBIDDEN'],
|
|
692
|
+
description: 'Optional requested memory class',
|
|
693
|
+
},
|
|
694
|
+
approved: { type: 'boolean', description: 'Whether the write has explicit approval' },
|
|
695
|
+
},
|
|
696
|
+
required: ['content'],
|
|
697
|
+
},
|
|
698
|
+
handler: async (args) => {
|
|
699
|
+
const result = await this.memoryStore.write({
|
|
700
|
+
content: args.content,
|
|
701
|
+
title: args.title,
|
|
702
|
+
author: args.author,
|
|
703
|
+
requestedClass: args.class,
|
|
704
|
+
approved: args.approved,
|
|
705
|
+
});
|
|
706
|
+
return {
|
|
707
|
+
textResultForLlm: result.stored
|
|
708
|
+
? `Stored ${result.classification.class} memory ${result.id} at ${result.path}`
|
|
709
|
+
: `Rejected ${result.classification.class} memory: ${result.classification.reason}`,
|
|
710
|
+
resultType: result.stored ? 'success' : 'failure',
|
|
711
|
+
toolTelemetry: {
|
|
712
|
+
id: result.id,
|
|
713
|
+
class: result.classification.class,
|
|
714
|
+
path: result.path,
|
|
715
|
+
stored: result.stored,
|
|
716
|
+
},
|
|
717
|
+
};
|
|
718
|
+
},
|
|
719
|
+
});
|
|
720
|
+
const memorySearch = defineTool({
|
|
721
|
+
name: 'memory.search',
|
|
722
|
+
description: 'Search governed local Squad memory entries.',
|
|
723
|
+
parameters: {
|
|
724
|
+
type: 'object',
|
|
725
|
+
properties: {
|
|
726
|
+
query: { type: 'string', description: 'Search query' },
|
|
727
|
+
},
|
|
728
|
+
required: ['query'],
|
|
729
|
+
},
|
|
730
|
+
handler: async (args) => {
|
|
731
|
+
const results = await this.memoryStore.search(args.query);
|
|
732
|
+
const telemetryResults = results.map(({ id, class: memoryClass, title, path }) => ({
|
|
733
|
+
id,
|
|
734
|
+
class: memoryClass,
|
|
735
|
+
title,
|
|
736
|
+
path,
|
|
737
|
+
}));
|
|
738
|
+
return {
|
|
739
|
+
textResultForLlm: results.length === 0
|
|
740
|
+
? 'No governed memory entries matched.'
|
|
741
|
+
: results.map(r => `${r.id} [${r.class}] ${r.title}: ${r.snippet}`).join('\n'),
|
|
742
|
+
resultType: 'success',
|
|
743
|
+
toolTelemetry: { count: results.length, results: telemetryResults },
|
|
744
|
+
};
|
|
745
|
+
},
|
|
746
|
+
});
|
|
747
|
+
const memoryPromote = defineTool({
|
|
748
|
+
name: 'memory.promote',
|
|
749
|
+
description: 'Promote an existing governed memory entry to LOCAL, DECISION, POLICY, or approved semantic memory.',
|
|
750
|
+
parameters: {
|
|
751
|
+
type: 'object',
|
|
752
|
+
properties: {
|
|
753
|
+
id: { type: 'string', description: 'Memory ID to promote' },
|
|
754
|
+
targetClass: {
|
|
755
|
+
type: 'string',
|
|
756
|
+
enum: ['LOCAL', 'DECISION', 'POLICY', 'COPILOT_MEMORY'],
|
|
757
|
+
description: 'Target memory class',
|
|
758
|
+
},
|
|
759
|
+
actor: { type: 'string', description: 'Actor requesting promotion' },
|
|
760
|
+
},
|
|
761
|
+
required: ['id', 'targetClass'],
|
|
762
|
+
},
|
|
763
|
+
handler: async (args) => {
|
|
764
|
+
const result = await this.memoryStore.promote(args.id, args.targetClass, args.actor);
|
|
765
|
+
return {
|
|
766
|
+
textResultForLlm: result.stored
|
|
767
|
+
? `Promoted memory ${args.id} to ${args.targetClass} as ${result.id}`
|
|
768
|
+
: `Promotion rejected: ${result.classification.reason}`,
|
|
769
|
+
resultType: result.stored ? 'success' : 'failure',
|
|
770
|
+
toolTelemetry: { sourceId: args.id, targetId: result.id, stored: result.stored },
|
|
771
|
+
};
|
|
772
|
+
},
|
|
773
|
+
});
|
|
774
|
+
const memoryDelete = defineTool({
|
|
775
|
+
name: 'memory.delete',
|
|
776
|
+
description: 'Delete a governed local memory entry and write an audit tombstone.',
|
|
777
|
+
parameters: {
|
|
778
|
+
type: 'object',
|
|
779
|
+
properties: {
|
|
780
|
+
id: { type: 'string', description: 'Memory ID to delete' },
|
|
781
|
+
actor: { type: 'string', description: 'Actor requesting deletion' },
|
|
782
|
+
},
|
|
783
|
+
required: ['id'],
|
|
784
|
+
},
|
|
785
|
+
handler: async (args) => {
|
|
786
|
+
const deleted = await this.memoryStore.delete(args.id, args.actor);
|
|
787
|
+
return {
|
|
788
|
+
textResultForLlm: deleted ? `Deleted memory ${args.id}` : `Memory ${args.id} not found`,
|
|
789
|
+
resultType: deleted ? 'success' : 'failure',
|
|
790
|
+
toolTelemetry: { id: args.id, deleted },
|
|
791
|
+
};
|
|
792
|
+
},
|
|
793
|
+
});
|
|
794
|
+
const memoryAudit = defineTool({
|
|
795
|
+
name: 'memory.audit',
|
|
796
|
+
description: 'Return the governed memory audit log. Audit records do not include memory content.',
|
|
797
|
+
parameters: { type: 'object', properties: {} },
|
|
798
|
+
handler: async () => {
|
|
799
|
+
const records = await this.memoryStore.auditLog();
|
|
800
|
+
return {
|
|
801
|
+
textResultForLlm: records.length === 0
|
|
802
|
+
? 'No governed memory audit records.'
|
|
803
|
+
: records.map(r => `${r.timestamp} ${r.action} ${r.class ?? ''} ${r.id ?? ''} ${r.title ?? ''} ${r.reason ?? ''}`.trim()).join('\n'),
|
|
804
|
+
resultType: 'success',
|
|
805
|
+
toolTelemetry: { count: records.length, records },
|
|
806
|
+
};
|
|
807
|
+
},
|
|
808
|
+
});
|
|
428
809
|
// squad_status: Query session pool state
|
|
429
810
|
const squadStatus = defineTool({
|
|
430
811
|
name: 'squad_status',
|
|
@@ -609,6 +990,18 @@ export class ToolRegistry {
|
|
|
609
990
|
this.tools.set('squad_route', squadRoute);
|
|
610
991
|
this.tools.set('squad_decide', squadDecide);
|
|
611
992
|
this.tools.set('squad_memory', squadMemory);
|
|
993
|
+
this.tools.set('squad_state_read', stateRead);
|
|
994
|
+
this.tools.set('squad_state_write', stateWrite);
|
|
995
|
+
this.tools.set('squad_state_append', stateAppend);
|
|
996
|
+
this.tools.set('squad_state_delete', stateDelete);
|
|
997
|
+
this.tools.set('squad_state_list', stateList);
|
|
998
|
+
this.tools.set('squad_state_health', stateHealth);
|
|
999
|
+
this.tools.set('memory.classify', memoryClassify);
|
|
1000
|
+
this.tools.set('memory.write', memoryWrite);
|
|
1001
|
+
this.tools.set('memory.search', memorySearch);
|
|
1002
|
+
this.tools.set('memory.promote', memoryPromote);
|
|
1003
|
+
this.tools.set('memory.delete', memoryDelete);
|
|
1004
|
+
this.tools.set('memory.audit', memoryAudit);
|
|
612
1005
|
this.tools.set('squad_status', squadStatus);
|
|
613
1006
|
this.tools.set('squad_skill', squadSkill);
|
|
614
1007
|
}
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bounded-concurrency helper for fan-out async work.
|
|
3
|
+
*
|
|
4
|
+
* @module utils/map-with-limit
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Run `fn` against each item with at most `limit` operations in flight.
|
|
8
|
+
*
|
|
9
|
+
* Results are returned in **input order**, regardless of the order in which
|
|
10
|
+
* individual promises settle. This matches the semantics callers usually
|
|
11
|
+
* want when migrating from a sequential `for (const x of xs) { result.push(await fn(x)); }`
|
|
12
|
+
* pattern: ordering is preserved, but throughput is bounded.
|
|
13
|
+
*
|
|
14
|
+
* Errors propagate via the returned Promise. Use `mapWithLimitSettled()`
|
|
15
|
+
* when individual failures should not abort the batch.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* // 8 charters fetched 5-at-a-time over HTTP:
|
|
19
|
+
* const manifests = await mapWithLimit(dirs, 5, (dir) => fetchCharter(dir));
|
|
20
|
+
*
|
|
21
|
+
* @param items Inputs to map over.
|
|
22
|
+
* @param limit Maximum concurrent calls (must be ≥ 1).
|
|
23
|
+
* @param fn Async mapper.
|
|
24
|
+
* @returns Array of results in the same order as `items`.
|
|
25
|
+
*/
|
|
26
|
+
export declare function mapWithLimit<T, R>(items: readonly T[], limit: number, fn: (item: T, index: number) => Promise<R>): Promise<R[]>;
|
|
27
|
+
/**
|
|
28
|
+
* Variant of {@link mapWithLimit} that captures individual failures rather
|
|
29
|
+
* than aborting on the first rejection. Returns an array of
|
|
30
|
+
* `{ status: 'fulfilled', value }` / `{ status: 'rejected', reason }` in
|
|
31
|
+
* input order — identical shape to `Promise.allSettled`.
|
|
32
|
+
*
|
|
33
|
+
* Use this when one bad input (e.g. a corrupt charter.md) should not stop
|
|
34
|
+
* the whole batch.
|
|
35
|
+
*/
|
|
36
|
+
export declare function mapWithLimitSettled<T, R>(items: readonly T[], limit: number, fn: (item: T, index: number) => Promise<R>): Promise<Array<PromiseSettledResult<R>>>;
|
|
37
|
+
//# sourceMappingURL=map-with-limit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map-with-limit.d.ts","sourceRoot":"","sources":["../../src/utils/map-with-limit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAAE,CAAC,EACrC,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GACzC,OAAO,CAAC,CAAC,EAAE,CAAC,CAoBd;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAC5C,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GACzC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAyBzC"}
|