Skip to content

Commit dbe82f7

Browse files
rajbosCopilot
andcommitted
Merge branch 'main' into rajbos/fluency-shared-server
Resolve conflict in sharing-server/src/routes/dashboard.ts import line. Both admin approaches coexist: inline admin section on /dashboard and separate /admin route added by main. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2 parents 2af9044 + c943a5e commit dbe82f7

65 files changed

Lines changed: 4587 additions & 1796 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/agents/tool-names.agent.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ When adding a new tool to `toolNames.json`, also determine if it belongs in `aut
124124
- The file is a plain JSON array of tool ID strings
125125
- Add new entries at the end of the array (before the closing `]`)
126126
- Keep related tool variants together (e.g., all variants of `read_file`)
127+
- **Case-insensitive deduplication**: Before adding a tool ID, check if a differently-cased variant (e.g., lowercase equivalent) is already in the array. If `grep` is already there, do **not** add `Grep`. Only add a capitalized variant if the lowercase form is absent.
127128

128129

129130

@@ -134,6 +135,7 @@ When adding a new tool to `toolNames.json`, also determine if it belongs in `aut
134135
- Insert new MCP entries near existing entries with the same prefix
135136
- Insert new non-MCP entries alphabetically or near logically related tools
136137
- Never remove existing entries
138+
- **Case-insensitive deduplication**: Before adding a new tool ID, check whether a lowercase (or differently-cased) variant already exists. If `grep` is already mapped, do **not** add `Grep`. If `tool_search` is already mapped, do **not** add `ToolSearch`. The lookup code handles exact-match only, so capitalized variants do map differently — but if both would resolve to the *exact same friendly name*, skip the duplicate. Only add a capitalized variant when it has a meaningfully different name or the lowercase form does not exist at all.
137139

138140
### Validation
139141

.github/workflows/actionlint.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
runs-on: ubuntu-latest
1818
steps:
1919
- name: Harden the runner (Audit all outbound calls)
20-
uses: step-security/harden-runner@6c3c2f2c1c457b00c10c4848d6f5491db3b629df # v2.18.0
20+
uses: step-security/harden-runner@8d3c67de8e2fe68ef647c8db1e6a09f647780f40 # v2.19.0
2121
with:
2222
egress-policy: audit
2323

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020

2121
steps:
2222
- name: Harden the runner (Audit all outbound calls)
23-
uses: step-security/harden-runner@6c3c2f2c1c457b00c10c4848d6f5491db3b629df # v2.18.0
23+
uses: step-security/harden-runner@8d3c67de8e2fe68ef647c8db1e6a09f647780f40 # v2.19.0
2424
with:
2525
egress-policy: audit
2626

.github/workflows/check-models.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525

2626
steps:
2727
- name: Harden the runner (Audit all outbound calls)
28-
uses: step-security/harden-runner@6c3c2f2c1c457b00c10c4848d6f5491db3b629df # v2.18.0
28+
uses: step-security/harden-runner@8d3c67de8e2fe68ef647c8db1e6a09f647780f40 # v2.19.0
2929
with:
3030
egress-policy: audit
3131

.github/workflows/check-toolnames.yml

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
contents: read
1919
steps:
2020
- name: Harden the runner (Audit all outbound calls)
21-
uses: step-security/harden-runner@6c3c2f2c1c457b00c10c4848d6f5491db3b629df # v2.18.0
21+
uses: step-security/harden-runner@8d3c67de8e2fe68ef647c8db1e6a09f647780f40 # v2.19.0
2222
with:
2323
egress-policy: audit
2424

@@ -90,12 +90,21 @@ jobs:
9090
9191
already_added = []
9292
needs_adding = []
93+
case_variants = []
9394
9495
for tool in tools:
9596
if tool in known_tools:
9697
already_added.append((tool, known_tools[tool]))
9798
else:
98-
needs_adding.append(tool)
99+
# Case-insensitive check: if a differently-cased variant already
100+
# exists with the same friendly name, flag it as a case variant
101+
# rather than a missing entry — it should NOT be added separately.
102+
lower_tool = tool.lower()
103+
case_match = next((k for k in known_tools if k.lower() == lower_tool), None)
104+
if case_match and known_tools[case_match] == known_tools.get(tool, known_tools[case_match]):
105+
case_variants.append((tool, case_match, known_tools[case_match]))
106+
else:
107+
needs_adding.append(tool)
99108
100109
lines = ["## 🔍 Toolnames Checkup", ""]
101110
lines.append("Checked the tool names in this issue against `vscode-extension/src/toolNames.json` on the `main` branch:")
@@ -110,6 +119,18 @@ jobs:
110119
lines.append(f"| `{tool}` | {friendly} |")
111120
lines.append("")
112121
122+
if case_variants:
123+
lines.append("### ⚠️ Case variant of an existing entry — do not add")
124+
lines.append("")
125+
lines.append("These tool names differ only in capitalisation from an entry that is already mapped.")
126+
lines.append("**Do not add a separate entry** — the existing lowercase form covers this tool.")
127+
lines.append("")
128+
lines.append("| Tool Name (from issue) | Existing Entry | Friendly Name |")
129+
lines.append("| --- | --- | --- |")
130+
for tool, existing, friendly in case_variants:
131+
lines.append(f"| `{tool}` | `{existing}` | {friendly} |")
132+
lines.append("")
133+
113134
if needs_adding:
114135
lines.append("### ❌ Not yet in `toolNames.json`")
115136
lines.append("")
@@ -119,8 +140,10 @@ jobs:
119140
lines.append(f"| `{tool}` |")
120141
lines.append("")
121142
122-
if already_added and not needs_adding:
143+
if already_added and not needs_adding and not case_variants:
123144
lines.append("> **All tool names in this issue are already mapped.** This issue may be a duplicate — consider closing it.")
145+
elif case_variants and not needs_adding:
146+
lines.append("> **All unmapped tool names are case variants of existing entries.** No new entries should be added. Consider closing this issue.")
124147
elif needs_adding:
125148
lines.append(f"> **{len(needs_adding)} tool name(s) still need to be added.** Please use the `tool-names` custom agent or update `vscode-extension/src/toolNames.json` manually.")
126149

.github/workflows/ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020

2121
steps:
2222
- name: Harden the runner (Audit all outbound calls)
23-
uses: step-security/harden-runner@6c3c2f2c1c457b00c10c4848d6f5491db3b629df # v2.18.0
23+
uses: step-security/harden-runner@8d3c67de8e2fe68ef647c8db1e6a09f647780f40 # v2.19.0
2424
with:
2525
egress-policy: audit
2626

@@ -113,7 +113,7 @@ jobs:
113113
vscode_src_changed: ${{ steps.detect.outputs.changed }}
114114
steps:
115115
- name: Harden the runner (Audit all outbound calls)
116-
uses: step-security/harden-runner@6c3c2f2c1c457b00c10c4848d6f5491db3b629df # v2.18.0
116+
uses: step-security/harden-runner@8d3c67de8e2fe68ef647c8db1e6a09f647780f40 # v2.19.0
117117
with:
118118
egress-policy: audit
119119

@@ -143,7 +143,7 @@ jobs:
143143

144144
steps:
145145
- name: Harden the runner (Audit all outbound calls)
146-
uses: step-security/harden-runner@6c3c2f2c1c457b00c10c4848d6f5491db3b629df # v2.18.0
146+
uses: step-security/harden-runner@8d3c67de8e2fe68ef647c8db1e6a09f647780f40 # v2.19.0
147147
with:
148148
egress-policy: audit
149149

@@ -229,7 +229,7 @@ jobs:
229229

230230
steps:
231231
- name: Harden the runner (Audit all outbound calls)
232-
uses: step-security/harden-runner@6c3c2f2c1c457b00c10c4848d6f5491db3b629df # v2.18.0
232+
uses: step-security/harden-runner@8d3c67de8e2fe68ef647c8db1e6a09f647780f40 # v2.19.0
233233
with:
234234
egress-policy: audit
235235

.github/workflows/cli-build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
cli-relevant: ${{ github.event_name == 'push' || steps.filter.outputs.cli-relevant == 'true' }}
2929
steps:
3030
- name: Harden Runner
31-
uses: step-security/harden-runner@6c3c2f2c1c457b00c10c4848d6f5491db3b629df # v2.18.0
31+
uses: step-security/harden-runner@8d3c67de8e2fe68ef647c8db1e6a09f647780f40 # v2.19.0
3232
with:
3333
egress-policy: audit
3434

@@ -61,7 +61,7 @@ jobs:
6161
node-version: 24
6262
steps:
6363
- name: Harden Runner
64-
uses: step-security/harden-runner@6c3c2f2c1c457b00c10c4848d6f5491db3b629df # v2.18.0
64+
uses: step-security/harden-runner@8d3c67de8e2fe68ef647c8db1e6a09f647780f40 # v2.19.0
6565
with:
6666
egress-policy: audit
6767

.github/workflows/cli-publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444
working-directory: cli
4545
steps:
4646
- name: Harden Runner
47-
uses: step-security/harden-runner@6c3c2f2c1c457b00c10c4848d6f5491db3b629df # v2.18.0
47+
uses: step-security/harden-runner@8d3c67de8e2fe68ef647c8db1e6a09f647780f40 # v2.19.0
4848
with:
4949
egress-policy: audit
5050

.github/workflows/codeql.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141

4242
steps:
4343
- name: Harden the runner (Audit all outbound calls)
44-
uses: step-security/harden-runner@6c3c2f2c1c457b00c10c4848d6f5491db3b629df # v2.18.0
44+
uses: step-security/harden-runner@8d3c67de8e2fe68ef647c8db1e6a09f647780f40 # v2.19.0
4545
with:
4646
egress-policy: audit
4747

.github/workflows/copilot-setup-steps.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
# If you do not check out your code, Copilot will do this for you.
3232
steps:
3333
- name: Harden the runner (Audit all outbound calls)
34-
uses: step-security/harden-runner@6c3c2f2c1c457b00c10c4848d6f5491db3b629df # v2.18.0
34+
uses: step-security/harden-runner@8d3c67de8e2fe68ef647c8db1e6a09f647780f40 # v2.19.0
3535
with:
3636
egress-policy: audit
3737

0 commit comments

Comments
 (0)