Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,7 +24,7 @@ jobs:
run: npm ci

- name: Security audit
run: npm audit
run: npm audit --audit-level=critical

- name: Typecheck
run: npm run typecheck
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,3 +33,6 @@ Thumbs.db
# Misc
*.map

# Docs
docs/

16 changes: 8 additions & 8 deletions CLAUDE.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -39,13 +39,13 @@ npm run dev:client-demo

Read the relevant Intent Node before working in that area:

- `src/types/CLAUDE.md` - Type definitions and contracts
- `src/core/CLAUDE.md` - ServerOrchestrator, DynamicToolManager, ToolRegistry
- `src/mode/CLAUDE.md` - ModuleResolver, validation utilities
- `src/server/CLAUDE.md` - createMcpServer, createPermissionBasedMcpServer
- `src/http/CLAUDE.md` - FastifyTransport, endpoints, SSE
- `src/session/CLAUDE.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/CLAUDE.md` - PermissionResolver, access control
- `src/types/AGENTS.md` - Type definitions and contracts
- `src/core/AGENTS.md` - ServerOrchestrator, DynamicToolManager, ToolRegistry
- `src/mode/AGENTS.md` - ModuleResolver, validation utilities
- `src/server/AGENTS.md` - createMcpServer, createPermissionBasedMcpServer
- `src/http/AGENTS.md` - FastifyTransport, endpoints, SSE
- `src/session/AGENTS.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/AGENTS.md` - PermissionResolver, access control

### Maintaining the Intent Layer

Expand All@@ -55,7 +55,7 @@ Read the relevant Intent Node before working in that area:
- **Change component behavior** → Update the affected Intent Node's description
- **Add new components** → Add them to the Key Components section
- **Discover an anti-pattern** → Add it to the Anti-patterns section
- **Create a new module** → Create a corresponding `CLAUDE.md` Intent Node
- **Create a new module** → Create a corresponding `AGENTS.md` Intent Node

Intent Nodes should remain concise (~100 lines max). Focus on what an agent needs to know to work safely in that area.

Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions src/core/CLAUDE.md → src/core/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -81,9 +81,9 @@ notifyToolsChanged() (unless skipNotification)

## See Also

- `src/mode/CLAUDE.md` - How tools are resolved
- `src/server/CLAUDE.md` - How orchestrator is created
- `src/types/CLAUDE.md` - ExposurePolicy, ToolingErrorCode
- `src/mode/AGENTS.md` - How tools are resolved
- `src/server/AGENTS.md` - How orchestrator is created
- `src/types/AGENTS.md` - ExposurePolicy, ToolingErrorCode

---
*Keep this Intent Node updated when modifying core orchestration. See root CLAUDE.md for maintenance guidelines.*
6 changes: 3 additions & 3 deletions src/http/CLAUDE.md → src/http/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -97,9 +97,9 @@ definePermissionAwareEndpoint({...})

## See Also

- `src/session/CLAUDE.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/CLAUDE.md` - PermissionAwareFastifyTransport
- `src/server/CLAUDE.md` - How transport is configured
- `src/session/AGENTS.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/AGENTS.md` - PermissionAwareFastifyTransport
- `src/server/AGENTS.md` - How transport is configured

---
*Keep this Intent Node updated when modifying HTTP transport. See root CLAUDE.md for maintenance guidelines.*
4 changes: 2 additions & 2 deletions src/mode/CLAUDE.md → src/mode/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -54,8 +54,8 @@ Return flattened McpToolDefinition[]

## See Also

- `src/core/CLAUDE.md` - How resolved tools are registered
- `src/types/CLAUDE.md` - ModuleLoader type definition
- `src/core/AGENTS.md` - How resolved tools are registered
- `src/types/AGENTS.md` - ModuleLoader type definition

---
*Keep this Intent Node updated when modifying mode resolution. See root CLAUDE.md for maintenance guidelines.*
6 changes: 3 additions & 3 deletions src/permissions/CLAUDE.md → src/permissions/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -83,9 +83,9 @@ Return bundle (cached if non-anonymous)

## See Also

- `src/http/CLAUDE.md` - FastifyTransport base class
- `src/server/CLAUDE.md` - createPermissionBasedMcpServer
- `src/types/CLAUDE.md` - PermissionConfig type
- `src/http/AGENTS.md` - FastifyTransport base class
- `src/server/AGENTS.md` - createPermissionBasedMcpServer
- `src/types/AGENTS.md` - PermissionConfig type

---
*Keep this Intent Node updated when modifying permissions. See root CLAUDE.md for maintenance guidelines.*
6 changes: 3 additions & 3 deletions src/server/CLAUDE.md → src/server/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -99,9 +99,9 @@ Always STATIC per client, no meta-tools

## See Also

- `src/core/CLAUDE.md` - ServerOrchestrator internals
- `src/http/CLAUDE.md` - Transport layer
- `src/permissions/CLAUDE.md` - Permission resolution
- `src/core/AGENTS.md` - ServerOrchestrator internals
- `src/http/AGENTS.md` - Transport layer
- `src/permissions/AGENTS.md` - Permission resolution

---
*Keep this Intent Node updated when modifying server creation. See root CLAUDE.md for maintenance guidelines.*
4 changes: 2 additions & 2 deletions src/session/CLAUDE.md → src/session/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -69,8 +69,8 @@ Return {context, cacheKeySuffix}

## See Also

- `src/http/CLAUDE.md` - How session context integrates with HTTP transport
- `src/types/CLAUDE.md` - SessionContextConfig type definition
- `src/http/AGENTS.md` - How session context integrates with HTTP transport
- `src/types/AGENTS.md` - SessionContextConfig type definition

---
*Keep this Intent Node updated when modifying session handling. See root CLAUDE.md for maintenance guidelines.*
2 changes: 1 addition & 1 deletion src/types/CLAUDE.md → src/types/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -56,7 +56,7 @@ Defines all TypeScript interfaces, types, and contracts for the Toolception syst
## See Also

- `src/errors/ToolingError.ts` - Error class using ToolingErrorCode (18 LOC)
- `src/core/CLAUDE.md` - How types are used in orchestration
- `src/core/AGENTS.md` - How types are used in orchestration

---
*Keep this Intent Node updated when modifying types. See root CLAUDE.md for maintenance guidelines.*
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,7 +24,7 @@ jobs:
run: npm ci

- name: Security audit
run: npm audit
run: npm audit --audit-level=critical

- name: Typecheck
run: npm run typecheck
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,3 +33,6 @@ Thumbs.db
# Misc
*.map

# Docs
docs/

16 changes: 8 additions & 8 deletions CLAUDE.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -39,13 +39,13 @@ npm run dev:client-demo

Read the relevant Intent Node before working in that area:

- `src/types/CLAUDE.md` - Type definitions and contracts
- `src/core/CLAUDE.md` - ServerOrchestrator, DynamicToolManager, ToolRegistry
- `src/mode/CLAUDE.md` - ModuleResolver, validation utilities
- `src/server/CLAUDE.md` - createMcpServer, createPermissionBasedMcpServer
- `src/http/CLAUDE.md` - FastifyTransport, endpoints, SSE
- `src/session/CLAUDE.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/CLAUDE.md` - PermissionResolver, access control
- `src/types/AGENTS.md` - Type definitions and contracts
- `src/core/AGENTS.md` - ServerOrchestrator, DynamicToolManager, ToolRegistry
- `src/mode/AGENTS.md` - ModuleResolver, validation utilities
- `src/server/AGENTS.md` - createMcpServer, createPermissionBasedMcpServer
- `src/http/AGENTS.md` - FastifyTransport, endpoints, SSE
- `src/session/AGENTS.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/AGENTS.md` - PermissionResolver, access control

### Maintaining the Intent Layer

Expand All@@ -55,7 +55,7 @@ Read the relevant Intent Node before working in that area:
- **Change component behavior** → Update the affected Intent Node's description
- **Add new components** → Add them to the Key Components section
- **Discover an anti-pattern** → Add it to the Anti-patterns section
- **Create a new module** → Create a corresponding `CLAUDE.md` Intent Node
- **Create a new module** → Create a corresponding `AGENTS.md` Intent Node

Intent Nodes should remain concise (~100 lines max). Focus on what an agent needs to know to work safely in that area.

Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions src/core/CLAUDE.md → src/core/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -81,9 +81,9 @@ notifyToolsChanged() (unless skipNotification)

## See Also

- `src/mode/CLAUDE.md` - How tools are resolved
- `src/server/CLAUDE.md` - How orchestrator is created
- `src/types/CLAUDE.md` - ExposurePolicy, ToolingErrorCode
- `src/mode/AGENTS.md` - How tools are resolved
- `src/server/AGENTS.md` - How orchestrator is created
- `src/types/AGENTS.md` - ExposurePolicy, ToolingErrorCode

---
*Keep this Intent Node updated when modifying core orchestration. See root CLAUDE.md for maintenance guidelines.*
6 changes: 3 additions & 3 deletions src/http/CLAUDE.md → src/http/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -97,9 +97,9 @@ definePermissionAwareEndpoint({...})

## See Also

- `src/session/CLAUDE.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/CLAUDE.md` - PermissionAwareFastifyTransport
- `src/server/CLAUDE.md` - How transport is configured
- `src/session/AGENTS.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/AGENTS.md` - PermissionAwareFastifyTransport
- `src/server/AGENTS.md` - How transport is configured

---
*Keep this Intent Node updated when modifying HTTP transport. See root CLAUDE.md for maintenance guidelines.*
4 changes: 2 additions & 2 deletions src/mode/CLAUDE.md → src/mode/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -54,8 +54,8 @@ Return flattened McpToolDefinition[]

## See Also

- `src/core/CLAUDE.md` - How resolved tools are registered
- `src/types/CLAUDE.md` - ModuleLoader type definition
- `src/core/AGENTS.md` - How resolved tools are registered
- `src/types/AGENTS.md` - ModuleLoader type definition

---
*Keep this Intent Node updated when modifying mode resolution. See root CLAUDE.md for maintenance guidelines.*
6 changes: 3 additions & 3 deletions src/permissions/CLAUDE.md → src/permissions/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -83,9 +83,9 @@ Return bundle (cached if non-anonymous)

## See Also

- `src/http/CLAUDE.md` - FastifyTransport base class
- `src/server/CLAUDE.md` - createPermissionBasedMcpServer
- `src/types/CLAUDE.md` - PermissionConfig type
- `src/http/AGENTS.md` - FastifyTransport base class
- `src/server/AGENTS.md` - createPermissionBasedMcpServer
- `src/types/AGENTS.md` - PermissionConfig type

---
*Keep this Intent Node updated when modifying permissions. See root CLAUDE.md for maintenance guidelines.*
6 changes: 3 additions & 3 deletions src/server/CLAUDE.md → src/server/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -99,9 +99,9 @@ Always STATIC per client, no meta-tools

## See Also

- `src/core/CLAUDE.md` - ServerOrchestrator internals
- `src/http/CLAUDE.md` - Transport layer
- `src/permissions/CLAUDE.md` - Permission resolution
- `src/core/AGENTS.md` - ServerOrchestrator internals
- `src/http/AGENTS.md` - Transport layer
- `src/permissions/AGENTS.md` - Permission resolution

---
*Keep this Intent Node updated when modifying server creation. See root CLAUDE.md for maintenance guidelines.*
4 changes: 2 additions & 2 deletions src/session/CLAUDE.md → src/session/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -69,8 +69,8 @@ Return {context, cacheKeySuffix}

## See Also

- `src/http/CLAUDE.md` - How session context integrates with HTTP transport
- `src/types/CLAUDE.md` - SessionContextConfig type definition
- `src/http/AGENTS.md` - How session context integrates with HTTP transport
- `src/types/AGENTS.md` - SessionContextConfig type definition

---
*Keep this Intent Node updated when modifying session handling. See root CLAUDE.md for maintenance guidelines.*
2 changes: 1 addition & 1 deletion src/types/CLAUDE.md → src/types/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -56,7 +56,7 @@ Defines all TypeScript interfaces, types, and contracts for the Toolception syst
## See Also

- `src/errors/ToolingError.ts` - Error class using ToolingErrorCode (18 LOC)
- `src/core/CLAUDE.md` - How types are used in orchestration
- `src/core/AGENTS.md` - How types are used in orchestration

---
*Keep this Intent Node updated when modifying types. See root CLAUDE.md for maintenance guidelines.*
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,7 +24,7 @@ jobs:
run: npm ci

- name: Security audit
run: npm audit
run: npm audit --audit-level=critical

- name: Typecheck
run: npm run typecheck
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,3 +33,6 @@ Thumbs.db
# Misc
*.map

# Docs
docs/

16 changes: 8 additions & 8 deletions CLAUDE.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -39,13 +39,13 @@ npm run dev:client-demo

Read the relevant Intent Node before working in that area:

- `src/types/CLAUDE.md` - Type definitions and contracts
- `src/core/CLAUDE.md` - ServerOrchestrator, DynamicToolManager, ToolRegistry
- `src/mode/CLAUDE.md` - ModuleResolver, validation utilities
- `src/server/CLAUDE.md` - createMcpServer, createPermissionBasedMcpServer
- `src/http/CLAUDE.md` - FastifyTransport, endpoints, SSE
- `src/session/CLAUDE.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/CLAUDE.md` - PermissionResolver, access control
- `src/types/AGENTS.md` - Type definitions and contracts
- `src/core/AGENTS.md` - ServerOrchestrator, DynamicToolManager, ToolRegistry
- `src/mode/AGENTS.md` - ModuleResolver, validation utilities
- `src/server/AGENTS.md` - createMcpServer, createPermissionBasedMcpServer
- `src/http/AGENTS.md` - FastifyTransport, endpoints, SSE
- `src/session/AGENTS.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/AGENTS.md` - PermissionResolver, access control

### Maintaining the Intent Layer

Expand All@@ -55,7 +55,7 @@ Read the relevant Intent Node before working in that area:
- **Change component behavior** → Update the affected Intent Node's description
- **Add new components** → Add them to the Key Components section
- **Discover an anti-pattern** → Add it to the Anti-patterns section
- **Create a new module** → Create a corresponding `CLAUDE.md` Intent Node
- **Create a new module** → Create a corresponding `AGENTS.md` Intent Node

Intent Nodes should remain concise (~100 lines max). Focus on what an agent needs to know to work safely in that area.

Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions src/core/CLAUDE.md → src/core/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -81,9 +81,9 @@ notifyToolsChanged() (unless skipNotification)

## See Also

- `src/mode/CLAUDE.md` - How tools are resolved
- `src/server/CLAUDE.md` - How orchestrator is created
- `src/types/CLAUDE.md` - ExposurePolicy, ToolingErrorCode
- `src/mode/AGENTS.md` - How tools are resolved
- `src/server/AGENTS.md` - How orchestrator is created
- `src/types/AGENTS.md` - ExposurePolicy, ToolingErrorCode

---
*Keep this Intent Node updated when modifying core orchestration. See root CLAUDE.md for maintenance guidelines.*
6 changes: 3 additions & 3 deletions src/http/CLAUDE.md → src/http/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -97,9 +97,9 @@ definePermissionAwareEndpoint({...})

## See Also

- `src/session/CLAUDE.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/CLAUDE.md` - PermissionAwareFastifyTransport
- `src/server/CLAUDE.md` - How transport is configured
- `src/session/AGENTS.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/AGENTS.md` - PermissionAwareFastifyTransport
- `src/server/AGENTS.md` - How transport is configured

---
*Keep this Intent Node updated when modifying HTTP transport. See root CLAUDE.md for maintenance guidelines.*
4 changes: 2 additions & 2 deletions src/mode/CLAUDE.md → src/mode/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -54,8 +54,8 @@ Return flattened McpToolDefinition[]

## See Also

- `src/core/CLAUDE.md` - How resolved tools are registered
- `src/types/CLAUDE.md` - ModuleLoader type definition
- `src/core/AGENTS.md` - How resolved tools are registered
- `src/types/AGENTS.md` - ModuleLoader type definition

---
*Keep this Intent Node updated when modifying mode resolution. See root CLAUDE.md for maintenance guidelines.*
6 changes: 3 additions & 3 deletions src/permissions/CLAUDE.md → src/permissions/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -83,9 +83,9 @@ Return bundle (cached if non-anonymous)

## See Also

- `src/http/CLAUDE.md` - FastifyTransport base class
- `src/server/CLAUDE.md` - createPermissionBasedMcpServer
- `src/types/CLAUDE.md` - PermissionConfig type
- `src/http/AGENTS.md` - FastifyTransport base class
- `src/server/AGENTS.md` - createPermissionBasedMcpServer
- `src/types/AGENTS.md` - PermissionConfig type

---
*Keep this Intent Node updated when modifying permissions. See root CLAUDE.md for maintenance guidelines.*
6 changes: 3 additions & 3 deletions src/server/CLAUDE.md → src/server/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -99,9 +99,9 @@ Always STATIC per client, no meta-tools

## See Also

- `src/core/CLAUDE.md` - ServerOrchestrator internals
- `src/http/CLAUDE.md` - Transport layer
- `src/permissions/CLAUDE.md` - Permission resolution
- `src/core/AGENTS.md` - ServerOrchestrator internals
- `src/http/AGENTS.md` - Transport layer
- `src/permissions/AGENTS.md` - Permission resolution

---
*Keep this Intent Node updated when modifying server creation. See root CLAUDE.md for maintenance guidelines.*
4 changes: 2 additions & 2 deletions src/session/CLAUDE.md → src/session/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -69,8 +69,8 @@ Return {context, cacheKeySuffix}

## See Also

- `src/http/CLAUDE.md` - How session context integrates with HTTP transport
- `src/types/CLAUDE.md` - SessionContextConfig type definition
- `src/http/AGENTS.md` - How session context integrates with HTTP transport
- `src/types/AGENTS.md` - SessionContextConfig type definition

---
*Keep this Intent Node updated when modifying session handling. See root CLAUDE.md for maintenance guidelines.*
2 changes: 1 addition & 1 deletion src/types/CLAUDE.md → src/types/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -56,7 +56,7 @@ Defines all TypeScript interfaces, types, and contracts for the Toolception syst
## See Also

- `src/errors/ToolingError.ts` - Error class using ToolingErrorCode (18 LOC)
- `src/core/CLAUDE.md` - How types are used in orchestration
- `src/core/AGENTS.md` - How types are used in orchestration

---
*Keep this Intent Node updated when modifying types. See root CLAUDE.md for maintenance guidelines.*
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,7 +24,7 @@ jobs:
run: npm ci

- name: Security audit
run: npm audit
run: npm audit --audit-level=critical

- name: Typecheck
run: npm run typecheck
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,3 +33,6 @@ Thumbs.db
# Misc
*.map

# Docs
docs/

16 changes: 8 additions & 8 deletions CLAUDE.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -39,13 +39,13 @@ npm run dev:client-demo

Read the relevant Intent Node before working in that area:

- `src/types/CLAUDE.md` - Type definitions and contracts
- `src/core/CLAUDE.md` - ServerOrchestrator, DynamicToolManager, ToolRegistry
- `src/mode/CLAUDE.md` - ModuleResolver, validation utilities
- `src/server/CLAUDE.md` - createMcpServer, createPermissionBasedMcpServer
- `src/http/CLAUDE.md` - FastifyTransport, endpoints, SSE
- `src/session/CLAUDE.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/CLAUDE.md` - PermissionResolver, access control
- `src/types/AGENTS.md` - Type definitions and contracts
- `src/core/AGENTS.md` - ServerOrchestrator, DynamicToolManager, ToolRegistry
- `src/mode/AGENTS.md` - ModuleResolver, validation utilities
- `src/server/AGENTS.md` - createMcpServer, createPermissionBasedMcpServer
- `src/http/AGENTS.md` - FastifyTransport, endpoints, SSE
- `src/session/AGENTS.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/AGENTS.md` - PermissionResolver, access control

### Maintaining the Intent Layer

Expand All@@ -55,7 +55,7 @@ Read the relevant Intent Node before working in that area:
- **Change component behavior** → Update the affected Intent Node's description
- **Add new components** → Add them to the Key Components section
- **Discover an anti-pattern** → Add it to the Anti-patterns section
- **Create a new module** → Create a corresponding `CLAUDE.md` Intent Node
- **Create a new module** → Create a corresponding `AGENTS.md` Intent Node

Intent Nodes should remain concise (~100 lines max). Focus on what an agent needs to know to work safely in that area.

Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions src/core/CLAUDE.md → src/core/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -81,9 +81,9 @@ notifyToolsChanged() (unless skipNotification)

## See Also

- `src/mode/CLAUDE.md` - How tools are resolved
- `src/server/CLAUDE.md` - How orchestrator is created
- `src/types/CLAUDE.md` - ExposurePolicy, ToolingErrorCode
- `src/mode/AGENTS.md` - How tools are resolved
- `src/server/AGENTS.md` - How orchestrator is created
- `src/types/AGENTS.md` - ExposurePolicy, ToolingErrorCode

---
*Keep this Intent Node updated when modifying core orchestration. See root CLAUDE.md for maintenance guidelines.*
6 changes: 3 additions & 3 deletions src/http/CLAUDE.md → src/http/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -97,9 +97,9 @@ definePermissionAwareEndpoint({...})

## See Also

- `src/session/CLAUDE.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/CLAUDE.md` - PermissionAwareFastifyTransport
- `src/server/CLAUDE.md` - How transport is configured
- `src/session/AGENTS.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/AGENTS.md` - PermissionAwareFastifyTransport
- `src/server/AGENTS.md` - How transport is configured

---
*Keep this Intent Node updated when modifying HTTP transport. See root CLAUDE.md for maintenance guidelines.*
4 changes: 2 additions & 2 deletions src/mode/CLAUDE.md → src/mode/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -54,8 +54,8 @@ Return flattened McpToolDefinition[]

## See Also

- `src/core/CLAUDE.md` - How resolved tools are registered
- `src/types/CLAUDE.md` - ModuleLoader type definition
- `src/core/AGENTS.md` - How resolved tools are registered
- `src/types/AGENTS.md` - ModuleLoader type definition

---
*Keep this Intent Node updated when modifying mode resolution. See root CLAUDE.md for maintenance guidelines.*
6 changes: 3 additions & 3 deletions src/permissions/CLAUDE.md → src/permissions/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -83,9 +83,9 @@ Return bundle (cached if non-anonymous)

## See Also

- `src/http/CLAUDE.md` - FastifyTransport base class
- `src/server/CLAUDE.md` - createPermissionBasedMcpServer
- `src/types/CLAUDE.md` - PermissionConfig type
- `src/http/AGENTS.md` - FastifyTransport base class
- `src/server/AGENTS.md` - createPermissionBasedMcpServer
- `src/types/AGENTS.md` - PermissionConfig type

---
*Keep this Intent Node updated when modifying permissions. See root CLAUDE.md for maintenance guidelines.*
6 changes: 3 additions & 3 deletions src/server/CLAUDE.md → src/server/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -99,9 +99,9 @@ Always STATIC per client, no meta-tools

## See Also

- `src/core/CLAUDE.md` - ServerOrchestrator internals
- `src/http/CLAUDE.md` - Transport layer
- `src/permissions/CLAUDE.md` - Permission resolution
- `src/core/AGENTS.md` - ServerOrchestrator internals
- `src/http/AGENTS.md` - Transport layer
- `src/permissions/AGENTS.md` - Permission resolution

---
*Keep this Intent Node updated when modifying server creation. See root CLAUDE.md for maintenance guidelines.*
4 changes: 2 additions & 2 deletions src/session/CLAUDE.md → src/session/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -69,8 +69,8 @@ Return {context, cacheKeySuffix}

## See Also

- `src/http/CLAUDE.md` - How session context integrates with HTTP transport
- `src/types/CLAUDE.md` - SessionContextConfig type definition
- `src/http/AGENTS.md` - How session context integrates with HTTP transport
- `src/types/AGENTS.md` - SessionContextConfig type definition

---
*Keep this Intent Node updated when modifying session handling. See root CLAUDE.md for maintenance guidelines.*
2 changes: 1 addition & 1 deletion src/types/CLAUDE.md → src/types/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -56,7 +56,7 @@ Defines all TypeScript interfaces, types, and contracts for the Toolception syst
## See Also

- `src/errors/ToolingError.ts` - Error class using ToolingErrorCode (18 LOC)
- `src/core/CLAUDE.md` - How types are used in orchestration
- `src/core/AGENTS.md` - How types are used in orchestration

---
*Keep this Intent Node updated when modifying types. See root CLAUDE.md for maintenance guidelines.*
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,7 +24,7 @@ jobs:
run: npm ci

- name: Security audit
run: npm audit
run: npm audit --audit-level=critical

- name: Typecheck
run: npm run typecheck
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,3 +33,6 @@ Thumbs.db
# Misc
*.map

# Docs
docs/

16 changes: 8 additions & 8 deletions CLAUDE.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -39,13 +39,13 @@ npm run dev:client-demo

Read the relevant Intent Node before working in that area:

- `src/types/CLAUDE.md` - Type definitions and contracts
- `src/core/CLAUDE.md` - ServerOrchestrator, DynamicToolManager, ToolRegistry
- `src/mode/CLAUDE.md` - ModuleResolver, validation utilities
- `src/server/CLAUDE.md` - createMcpServer, createPermissionBasedMcpServer
- `src/http/CLAUDE.md` - FastifyTransport, endpoints, SSE
- `src/session/CLAUDE.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/CLAUDE.md` - PermissionResolver, access control
- `src/types/AGENTS.md` - Type definitions and contracts
- `src/core/AGENTS.md` - ServerOrchestrator, DynamicToolManager, ToolRegistry
- `src/mode/AGENTS.md` - ModuleResolver, validation utilities
- `src/server/AGENTS.md` - createMcpServer, createPermissionBasedMcpServer
- `src/http/AGENTS.md` - FastifyTransport, endpoints, SSE
- `src/session/AGENTS.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/AGENTS.md` - PermissionResolver, access control

### Maintaining the Intent Layer

Expand All@@ -55,7 +55,7 @@ Read the relevant Intent Node before working in that area:
- **Change component behavior** → Update the affected Intent Node's description
- **Add new components** → Add them to the Key Components section
- **Discover an anti-pattern** → Add it to the Anti-patterns section
- **Create a new module** → Create a corresponding `CLAUDE.md` Intent Node
- **Create a new module** → Create a corresponding `AGENTS.md` Intent Node

Intent Nodes should remain concise (~100 lines max). Focus on what an agent needs to know to work safely in that area.

Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions src/core/CLAUDE.md → src/core/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -81,9 +81,9 @@ notifyToolsChanged() (unless skipNotification)

## See Also

- `src/mode/CLAUDE.md` - How tools are resolved
- `src/server/CLAUDE.md` - How orchestrator is created
- `src/types/CLAUDE.md` - ExposurePolicy, ToolingErrorCode
- `src/mode/AGENTS.md` - How tools are resolved
- `src/server/AGENTS.md` - How orchestrator is created
- `src/types/AGENTS.md` - ExposurePolicy, ToolingErrorCode

---
*Keep this Intent Node updated when modifying core orchestration. See root CLAUDE.md for maintenance guidelines.*
6 changes: 3 additions & 3 deletions src/http/CLAUDE.md → src/http/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -97,9 +97,9 @@ definePermissionAwareEndpoint({...})

## See Also

- `src/session/CLAUDE.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/CLAUDE.md` - PermissionAwareFastifyTransport
- `src/server/CLAUDE.md` - How transport is configured
- `src/session/AGENTS.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/AGENTS.md` - PermissionAwareFastifyTransport
- `src/server/AGENTS.md` - How transport is configured

---
*Keep this Intent Node updated when modifying HTTP transport. See root CLAUDE.md for maintenance guidelines.*
4 changes: 2 additions & 2 deletions src/mode/CLAUDE.md → src/mode/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -54,8 +54,8 @@ Return flattened McpToolDefinition[]

## See Also

- `src/core/CLAUDE.md` - How resolved tools are registered
- `src/types/CLAUDE.md` - ModuleLoader type definition
- `src/core/AGENTS.md` - How resolved tools are registered
- `src/types/AGENTS.md` - ModuleLoader type definition

---
*Keep this Intent Node updated when modifying mode resolution. See root CLAUDE.md for maintenance guidelines.*
6 changes: 3 additions & 3 deletions src/permissions/CLAUDE.md → src/permissions/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -83,9 +83,9 @@ Return bundle (cached if non-anonymous)

## See Also

- `src/http/CLAUDE.md` - FastifyTransport base class
- `src/server/CLAUDE.md` - createPermissionBasedMcpServer
- `src/types/CLAUDE.md` - PermissionConfig type
- `src/http/AGENTS.md` - FastifyTransport base class
- `src/server/AGENTS.md` - createPermissionBasedMcpServer
- `src/types/AGENTS.md` - PermissionConfig type

---
*Keep this Intent Node updated when modifying permissions. See root CLAUDE.md for maintenance guidelines.*
6 changes: 3 additions & 3 deletions src/server/CLAUDE.md → src/server/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -99,9 +99,9 @@ Always STATIC per client, no meta-tools

## See Also

- `src/core/CLAUDE.md` - ServerOrchestrator internals
- `src/http/CLAUDE.md` - Transport layer
- `src/permissions/CLAUDE.md` - Permission resolution
- `src/core/AGENTS.md` - ServerOrchestrator internals
- `src/http/AGENTS.md` - Transport layer
- `src/permissions/AGENTS.md` - Permission resolution

---
*Keep this Intent Node updated when modifying server creation. See root CLAUDE.md for maintenance guidelines.*
4 changes: 2 additions & 2 deletions src/session/CLAUDE.md → src/session/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -69,8 +69,8 @@ Return {context, cacheKeySuffix}

## See Also

- `src/http/CLAUDE.md` - How session context integrates with HTTP transport
- `src/types/CLAUDE.md` - SessionContextConfig type definition
- `src/http/AGENTS.md` - How session context integrates with HTTP transport
- `src/types/AGENTS.md` - SessionContextConfig type definition

---
*Keep this Intent Node updated when modifying session handling. See root CLAUDE.md for maintenance guidelines.*
2 changes: 1 addition & 1 deletion src/types/CLAUDE.md → src/types/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -56,7 +56,7 @@ Defines all TypeScript interfaces, types, and contracts for the Toolception syst
## See Also

- `src/errors/ToolingError.ts` - Error class using ToolingErrorCode (18 LOC)
- `src/core/CLAUDE.md` - How types are used in orchestration
- `src/core/AGENTS.md` - How types are used in orchestration

---
*Keep this Intent Node updated when modifying types. See root CLAUDE.md for maintenance guidelines.*
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,7 +24,7 @@ jobs:
run: npm ci

- name: Security audit
run: npm audit
run: npm audit --audit-level=critical

- name: Typecheck
run: npm run typecheck
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,3 +33,6 @@ Thumbs.db
# Misc
*.map

# Docs
docs/

16 changes: 8 additions & 8 deletions CLAUDE.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -39,13 +39,13 @@ npm run dev:client-demo

Read the relevant Intent Node before working in that area:

- `src/types/CLAUDE.md` - Type definitions and contracts
- `src/core/CLAUDE.md` - ServerOrchestrator, DynamicToolManager, ToolRegistry
- `src/mode/CLAUDE.md` - ModuleResolver, validation utilities
- `src/server/CLAUDE.md` - createMcpServer, createPermissionBasedMcpServer
- `src/http/CLAUDE.md` - FastifyTransport, endpoints, SSE
- `src/session/CLAUDE.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/CLAUDE.md` - PermissionResolver, access control
- `src/types/AGENTS.md` - Type definitions and contracts
- `src/core/AGENTS.md` - ServerOrchestrator, DynamicToolManager, ToolRegistry
- `src/mode/AGENTS.md` - ModuleResolver, validation utilities
- `src/server/AGENTS.md` - createMcpServer, createPermissionBasedMcpServer
- `src/http/AGENTS.md` - FastifyTransport, endpoints, SSE
- `src/session/AGENTS.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/AGENTS.md` - PermissionResolver, access control

### Maintaining the Intent Layer

Expand All@@ -55,7 +55,7 @@ Read the relevant Intent Node before working in that area:
- **Change component behavior** → Update the affected Intent Node's description
- **Add new components** → Add them to the Key Components section
- **Discover an anti-pattern** → Add it to the Anti-patterns section
- **Create a new module** → Create a corresponding `CLAUDE.md` Intent Node
- **Create a new module** → Create a corresponding `AGENTS.md` Intent Node

Intent Nodes should remain concise (~100 lines max). Focus on what an agent needs to know to work safely in that area.

Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions src/core/CLAUDE.md → src/core/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -81,9 +81,9 @@ notifyToolsChanged() (unless skipNotification)

## See Also

- `src/mode/CLAUDE.md` - How tools are resolved
- `src/server/CLAUDE.md` - How orchestrator is created
- `src/types/CLAUDE.md` - ExposurePolicy, ToolingErrorCode
- `src/mode/AGENTS.md` - How tools are resolved
- `src/server/AGENTS.md` - How orchestrator is created
- `src/types/AGENTS.md` - ExposurePolicy, ToolingErrorCode

---
*Keep this Intent Node updated when modifying core orchestration. See root CLAUDE.md for maintenance guidelines.*
6 changes: 3 additions & 3 deletions src/http/CLAUDE.md → src/http/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -97,9 +97,9 @@ definePermissionAwareEndpoint({...})

## See Also

- `src/session/CLAUDE.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/CLAUDE.md` - PermissionAwareFastifyTransport
- `src/server/CLAUDE.md` - How transport is configured
- `src/session/AGENTS.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/AGENTS.md` - PermissionAwareFastifyTransport
- `src/server/AGENTS.md` - How transport is configured

---
*Keep this Intent Node updated when modifying HTTP transport. See root CLAUDE.md for maintenance guidelines.*
4 changes: 2 additions & 2 deletions src/mode/CLAUDE.md → src/mode/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -54,8 +54,8 @@ Return flattened McpToolDefinition[]

## See Also

- `src/core/CLAUDE.md` - How resolved tools are registered
- `src/types/CLAUDE.md` - ModuleLoader type definition
- `src/core/AGENTS.md` - How resolved tools are registered
- `src/types/AGENTS.md` - ModuleLoader type definition

---
*Keep this Intent Node updated when modifying mode resolution. See root CLAUDE.md for maintenance guidelines.*
6 changes: 3 additions & 3 deletions src/permissions/CLAUDE.md → src/permissions/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -83,9 +83,9 @@ Return bundle (cached if non-anonymous)

## See Also

- `src/http/CLAUDE.md` - FastifyTransport base class
- `src/server/CLAUDE.md` - createPermissionBasedMcpServer
- `src/types/CLAUDE.md` - PermissionConfig type
- `src/http/AGENTS.md` - FastifyTransport base class
- `src/server/AGENTS.md` - createPermissionBasedMcpServer
- `src/types/AGENTS.md` - PermissionConfig type

---
*Keep this Intent Node updated when modifying permissions. See root CLAUDE.md for maintenance guidelines.*
6 changes: 3 additions & 3 deletions src/server/CLAUDE.md → src/server/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -99,9 +99,9 @@ Always STATIC per client, no meta-tools

## See Also

- `src/core/CLAUDE.md` - ServerOrchestrator internals
- `src/http/CLAUDE.md` - Transport layer
- `src/permissions/CLAUDE.md` - Permission resolution
- `src/core/AGENTS.md` - ServerOrchestrator internals
- `src/http/AGENTS.md` - Transport layer
- `src/permissions/AGENTS.md` - Permission resolution

---
*Keep this Intent Node updated when modifying server creation. See root CLAUDE.md for maintenance guidelines.*
4 changes: 2 additions & 2 deletions src/session/CLAUDE.md → src/session/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -69,8 +69,8 @@ Return {context, cacheKeySuffix}

## See Also

- `src/http/CLAUDE.md` - How session context integrates with HTTP transport
- `src/types/CLAUDE.md` - SessionContextConfig type definition
- `src/http/AGENTS.md` - How session context integrates with HTTP transport
- `src/types/AGENTS.md` - SessionContextConfig type definition

---
*Keep this Intent Node updated when modifying session handling. See root CLAUDE.md for maintenance guidelines.*
2 changes: 1 addition & 1 deletion src/types/CLAUDE.md → src/types/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -56,7 +56,7 @@ Defines all TypeScript interfaces, types, and contracts for the Toolception syst
## See Also

- `src/errors/ToolingError.ts` - Error class using ToolingErrorCode (18 LOC)
- `src/core/CLAUDE.md` - How types are used in orchestration
- `src/core/AGENTS.md` - How types are used in orchestration

---
*Keep this Intent Node updated when modifying types. See root CLAUDE.md for maintenance guidelines.*
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,7 +24,7 @@ jobs:
run: npm ci

- name: Security audit
run: npm audit
run: npm audit --audit-level=critical

- name: Typecheck
run: npm run typecheck
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,3 +33,6 @@ Thumbs.db
# Misc
*.map

# Docs
docs/

16 changes: 8 additions & 8 deletions CLAUDE.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -39,13 +39,13 @@ npm run dev:client-demo

Read the relevant Intent Node before working in that area:

- `src/types/CLAUDE.md` - Type definitions and contracts
- `src/core/CLAUDE.md` - ServerOrchestrator, DynamicToolManager, ToolRegistry
- `src/mode/CLAUDE.md` - ModuleResolver, validation utilities
- `src/server/CLAUDE.md` - createMcpServer, createPermissionBasedMcpServer
- `src/http/CLAUDE.md` - FastifyTransport, endpoints, SSE
- `src/session/CLAUDE.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/CLAUDE.md` - PermissionResolver, access control
- `src/types/AGENTS.md` - Type definitions and contracts
- `src/core/AGENTS.md` - ServerOrchestrator, DynamicToolManager, ToolRegistry
- `src/mode/AGENTS.md` - ModuleResolver, validation utilities
- `src/server/AGENTS.md` - createMcpServer, createPermissionBasedMcpServer
- `src/http/AGENTS.md` - FastifyTransport, endpoints, SSE
- `src/session/AGENTS.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/AGENTS.md` - PermissionResolver, access control

### Maintaining the Intent Layer

Expand All@@ -55,7 +55,7 @@ Read the relevant Intent Node before working in that area:
- **Change component behavior** → Update the affected Intent Node's description
- **Add new components** → Add them to the Key Components section
- **Discover an anti-pattern** → Add it to the Anti-patterns section
- **Create a new module** → Create a corresponding `CLAUDE.md` Intent Node
- **Create a new module** → Create a corresponding `AGENTS.md` Intent Node

Intent Nodes should remain concise (~100 lines max). Focus on what an agent needs to know to work safely in that area.

Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions src/core/CLAUDE.md → src/core/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -81,9 +81,9 @@ notifyToolsChanged() (unless skipNotification)

## See Also

- `src/mode/CLAUDE.md` - How tools are resolved
- `src/server/CLAUDE.md` - How orchestrator is created
- `src/types/CLAUDE.md` - ExposurePolicy, ToolingErrorCode
- `src/mode/AGENTS.md` - How tools are resolved
- `src/server/AGENTS.md` - How orchestrator is created
- `src/types/AGENTS.md` - ExposurePolicy, ToolingErrorCode

---
*Keep this Intent Node updated when modifying core orchestration. See root CLAUDE.md for maintenance guidelines.*
6 changes: 3 additions & 3 deletions src/http/CLAUDE.md → src/http/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -97,9 +97,9 @@ definePermissionAwareEndpoint({...})

## See Also

- `src/session/CLAUDE.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/CLAUDE.md` - PermissionAwareFastifyTransport
- `src/server/CLAUDE.md` - How transport is configured
- `src/session/AGENTS.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/AGENTS.md` - PermissionAwareFastifyTransport
- `src/server/AGENTS.md` - How transport is configured

---
*Keep this Intent Node updated when modifying HTTP transport. See root CLAUDE.md for maintenance guidelines.*
4 changes: 2 additions & 2 deletions src/mode/CLAUDE.md → src/mode/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -54,8 +54,8 @@ Return flattened McpToolDefinition[]

## See Also

- `src/core/CLAUDE.md` - How resolved tools are registered
- `src/types/CLAUDE.md` - ModuleLoader type definition
- `src/core/AGENTS.md` - How resolved tools are registered
- `src/types/AGENTS.md` - ModuleLoader type definition

---
*Keep this Intent Node updated when modifying mode resolution. See root CLAUDE.md for maintenance guidelines.*
6 changes: 3 additions & 3 deletions src/permissions/CLAUDE.md → src/permissions/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -83,9 +83,9 @@ Return bundle (cached if non-anonymous)

## See Also

- `src/http/CLAUDE.md` - FastifyTransport base class
- `src/server/CLAUDE.md` - createPermissionBasedMcpServer
- `src/types/CLAUDE.md` - PermissionConfig type
- `src/http/AGENTS.md` - FastifyTransport base class
- `src/server/AGENTS.md` - createPermissionBasedMcpServer
- `src/types/AGENTS.md` - PermissionConfig type

---
*Keep this Intent Node updated when modifying permissions. See root CLAUDE.md for maintenance guidelines.*
6 changes: 3 additions & 3 deletions src/server/CLAUDE.md → src/server/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -99,9 +99,9 @@ Always STATIC per client, no meta-tools

## See Also

- `src/core/CLAUDE.md` - ServerOrchestrator internals
- `src/http/CLAUDE.md` - Transport layer
- `src/permissions/CLAUDE.md` - Permission resolution
- `src/core/AGENTS.md` - ServerOrchestrator internals
- `src/http/AGENTS.md` - Transport layer
- `src/permissions/AGENTS.md` - Permission resolution

---
*Keep this Intent Node updated when modifying server creation. See root CLAUDE.md for maintenance guidelines.*
4 changes: 2 additions & 2 deletions src/session/CLAUDE.md → src/session/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -69,8 +69,8 @@ Return {context, cacheKeySuffix}

## See Also

- `src/http/CLAUDE.md` - How session context integrates with HTTP transport
- `src/types/CLAUDE.md` - SessionContextConfig type definition
- `src/http/AGENTS.md` - How session context integrates with HTTP transport
- `src/types/AGENTS.md` - SessionContextConfig type definition

---
*Keep this Intent Node updated when modifying session handling. See root CLAUDE.md for maintenance guidelines.*
2 changes: 1 addition & 1 deletion src/types/CLAUDE.md → src/types/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -56,7 +56,7 @@ Defines all TypeScript interfaces, types, and contracts for the Toolception syst
## See Also

- `src/errors/ToolingError.ts` - Error class using ToolingErrorCode (18 LOC)
- `src/core/CLAUDE.md` - How types are used in orchestration
- `src/core/AGENTS.md` - How types are used in orchestration

---
*Keep this Intent Node updated when modifying types. See root CLAUDE.md for maintenance guidelines.*
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,7 +24,7 @@ jobs:
run: npm ci

- name: Security audit
run: npm audit
run: npm audit --audit-level=critical

- name: Typecheck
run: npm run typecheck
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,3 +33,6 @@ Thumbs.db
# Misc
*.map

# Docs
docs/

16 changes: 8 additions & 8 deletions CLAUDE.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -39,13 +39,13 @@ npm run dev:client-demo

Read the relevant Intent Node before working in that area:

- `src/types/CLAUDE.md` - Type definitions and contracts
- `src/core/CLAUDE.md` - ServerOrchestrator, DynamicToolManager, ToolRegistry
- `src/mode/CLAUDE.md` - ModuleResolver, validation utilities
- `src/server/CLAUDE.md` - createMcpServer, createPermissionBasedMcpServer
- `src/http/CLAUDE.md` - FastifyTransport, endpoints, SSE
- `src/session/CLAUDE.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/CLAUDE.md` - PermissionResolver, access control
- `src/types/AGENTS.md` - Type definitions and contracts
- `src/core/AGENTS.md` - ServerOrchestrator, DynamicToolManager, ToolRegistry
- `src/mode/AGENTS.md` - ModuleResolver, validation utilities
- `src/server/AGENTS.md` - createMcpServer, createPermissionBasedMcpServer
- `src/http/AGENTS.md` - FastifyTransport, endpoints, SSE
- `src/session/AGENTS.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/AGENTS.md` - PermissionResolver, access control

### Maintaining the Intent Layer

Expand All@@ -55,7 +55,7 @@ Read the relevant Intent Node before working in that area:
- **Change component behavior** → Update the affected Intent Node's description
- **Add new components** → Add them to the Key Components section
- **Discover an anti-pattern** → Add it to the Anti-patterns section
- **Create a new module** → Create a corresponding `CLAUDE.md` Intent Node
- **Create a new module** → Create a corresponding `AGENTS.md` Intent Node

Intent Nodes should remain concise (~100 lines max). Focus on what an agent needs to know to work safely in that area.

Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions src/core/CLAUDE.md → src/core/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -81,9 +81,9 @@ notifyToolsChanged() (unless skipNotification)

## See Also

- `src/mode/CLAUDE.md` - How tools are resolved
- `src/server/CLAUDE.md` - How orchestrator is created
- `src/types/CLAUDE.md` - ExposurePolicy, ToolingErrorCode
- `src/mode/AGENTS.md` - How tools are resolved
- `src/server/AGENTS.md` - How orchestrator is created
- `src/types/AGENTS.md` - ExposurePolicy, ToolingErrorCode

---
*Keep this Intent Node updated when modifying core orchestration. See root CLAUDE.md for maintenance guidelines.*
6 changes: 3 additions & 3 deletions src/http/CLAUDE.md → src/http/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -97,9 +97,9 @@ definePermissionAwareEndpoint({...})

## See Also

- `src/session/CLAUDE.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/CLAUDE.md` - PermissionAwareFastifyTransport
- `src/server/CLAUDE.md` - How transport is configured
- `src/session/AGENTS.md` - SessionContextResolver, ClientResourceCache
- `src/permissions/AGENTS.md` - PermissionAwareFastifyTransport
- `src/server/AGENTS.md` - How transport is configured

---
*Keep this Intent Node updated when modifying HTTP transport. See root CLAUDE.md for maintenance guidelines.*
4 changes: 2 additions & 2 deletions src/mode/CLAUDE.md → src/mode/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -54,8 +54,8 @@ Return flattened McpToolDefinition[]

## See Also

- `src/core/CLAUDE.md` - How resolved tools are registered
- `src/types/CLAUDE.md` - ModuleLoader type definition
- `src/core/AGENTS.md` - How resolved tools are registered
- `src/types/AGENTS.md` - ModuleLoader type definition

---
*Keep this Intent Node updated when modifying mode resolution. See root CLAUDE.md for maintenance guidelines.*
6 changes: 3 additions & 3 deletions src/permissions/CLAUDE.md → src/permissions/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -83,9 +83,9 @@ Return bundle (cached if non-anonymous)

## See Also

- `src/http/CLAUDE.md` - FastifyTransport base class
- `src/server/CLAUDE.md` - createPermissionBasedMcpServer
- `src/types/CLAUDE.md` - PermissionConfig type
- `src/http/AGENTS.md` - FastifyTransport base class
- `src/server/AGENTS.md` - createPermissionBasedMcpServer
- `src/types/AGENTS.md` - PermissionConfig type

---
*Keep this Intent Node updated when modifying permissions. See root CLAUDE.md for maintenance guidelines.*
6 changes: 3 additions & 3 deletions src/server/CLAUDE.md → src/server/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -99,9 +99,9 @@ Always STATIC per client, no meta-tools

## See Also

- `src/core/CLAUDE.md` - ServerOrchestrator internals
- `src/http/CLAUDE.md` - Transport layer
- `src/permissions/CLAUDE.md` - Permission resolution
- `src/core/AGENTS.md` - ServerOrchestrator internals
- `src/http/AGENTS.md` - Transport layer
- `src/permissions/AGENTS.md` - Permission resolution

---
*Keep this Intent Node updated when modifying server creation. See root CLAUDE.md for maintenance guidelines.*
4 changes: 2 additions & 2 deletions src/session/CLAUDE.md → src/session/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -69,8 +69,8 @@ Return {context, cacheKeySuffix}

## See Also

- `src/http/CLAUDE.md` - How session context integrates with HTTP transport
- `src/types/CLAUDE.md` - SessionContextConfig type definition
- `src/http/AGENTS.md` - How session context integrates with HTTP transport
- `src/types/AGENTS.md` - SessionContextConfig type definition

---
*Keep this Intent Node updated when modifying session handling. See root CLAUDE.md for maintenance guidelines.*
2 changes: 1 addition & 1 deletion src/types/CLAUDE.md → src/types/AGENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -56,7 +56,7 @@ Defines all TypeScript interfaces, types, and contracts for the Toolception syst
## See Also

- `src/errors/ToolingError.ts` - Error class using ToolingErrorCode (18 LOC)
- `src/core/CLAUDE.md` - How types are used in orchestration
- `src/core/AGENTS.md` - How types are used in orchestration

---
*Keep this Intent Node updated when modifying types. See root CLAUDE.md for maintenance guidelines.*