@inharness-ai/claude4spec 1.0.22 → 1.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.0.23] - 2026-06-27
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **Scoped plugin frontends 404'd → missing sidebar entry.** The frontend-manifest built asset URLs with a raw package name, so a scoped plugin (`@scope/pkg`) produced `/api/plugins/@scope/pkg/frontend.js` — an extra path segment the `/api/plugins/:name/:asset` route never matched. The preinstalled database-table plugin (`@inharness-ai/c4s-plugin-simple-database-tables`) loaded on the backend but its sidebar link vanished. The name is now percent-encoded into a single path segment (the route already decodes it).
|
|
12
|
+
|
|
8
13
|
## [1.0.22] - 2026-06-27
|
|
9
14
|
|
|
10
15
|
### Added
|
|
@@ -259,3 +264,5 @@ Initial public release.
|
|
|
259
264
|
[1.0.2]: https://github.com/InHarness/claude4spec/compare/v1.0.1...v1.0.2
|
|
260
265
|
|
|
261
266
|
[1.0.22]: https://github.com/InHarness/claude4spec/compare/v1.0.21...v1.0.22
|
|
267
|
+
|
|
268
|
+
[1.0.23]: https://github.com/InHarness/claude4spec/compare/v1.0.22...v1.0.23
|
|
@@ -13,11 +13,19 @@ import { buildImportMap } from './runtime-shims.js';
|
|
|
13
13
|
import { enumerateFrontendBundles, enumerateWorkspaceFrontendBundles, } from './frontend-assets.js';
|
|
14
14
|
/** One bundle → the manifest entry pointing at the (tier-agnostic) serving routes. */
|
|
15
15
|
function toEntry(b) {
|
|
16
|
+
// The serving route is `/api/plugins/:name/:asset` — a single path segment for
|
|
17
|
+
// the name. A SCOPED package (`@scope/pkg`) contains a `/`, so it MUST be
|
|
18
|
+
// percent-encoded to stay one segment (the route decodes `:name` back via
|
|
19
|
+
// Express param decoding). Without this a scoped plugin's frontend URL gains an
|
|
20
|
+
// extra segment, the route never matches → 404 → no frontend loads → no sidebar
|
|
21
|
+
// entry. The browser preserves the encoded segment when resolving the bundle's
|
|
22
|
+
// relative code-split siblings (`./chunk.js`), so those resolve too.
|
|
23
|
+
const seg = encodeURIComponent(b.name);
|
|
16
24
|
return {
|
|
17
25
|
name: b.name,
|
|
18
26
|
version: b.version,
|
|
19
|
-
entry: `/api/plugins/${
|
|
20
|
-
...(b.hasCss ? { css: `/api/plugins/${
|
|
27
|
+
entry: `/api/plugins/${seg}/frontend.js`,
|
|
28
|
+
...(b.hasCss ? { css: `/api/plugins/${seg}/frontend.css` } : {}),
|
|
21
29
|
};
|
|
22
30
|
}
|
|
23
31
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend-manifest.js","sourceRoot":"","sources":["../../../../src/server/core/plugin-host/frontend-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAK3E,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EACL,wBAAwB,EACxB,iCAAiC,GAGlC,MAAM,sBAAsB,CAAC;AAa9B,sFAAsF;AACtF,SAAS,OAAO,CAAC,CAAiB;IAChC,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,KAAK,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"frontend-manifest.js","sourceRoot":"","sources":["../../../../src/server/core/plugin-host/frontend-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAK3E,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EACL,wBAAwB,EACxB,iCAAiC,GAGlC,MAAM,sBAAsB,CAAC;AAa9B,sFAAsF;AACtF,SAAS,OAAO,CAAC,CAAiB;IAChC,+EAA+E;IAC/E,0EAA0E;IAC1E,0EAA0E;IAC1E,gFAAgF;IAChF,gFAAgF;IAChF,+EAA+E;IAC/E,qEAAqE;IACrE,MAAM,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,KAAK,EAAE,gBAAgB,GAAG,cAAc;QACxC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,gBAAgB,GAAG,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjE,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAyB,EACzB,OAAiC,EACjC,oBAAuC,EAAE,EACzC,qBAA6C;IAE7C,MAAM,MAAM,GAAG,IAAI,GAAG,EAA+B,CAAC;IACtD,KAAK,MAAM,CAAC,IAAI,iCAAiC,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;QACzF,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,IAAI,wBAAwB,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,OAAO,GAA0B,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAE5D,+EAA+E;IAC/E,+EAA+E;IAC/E,6EAA6E;IAC7E,+DAA+D;IAC/D,OAAO;QACL,cAAc,EAAE,gBAAgB;QAChC,SAAS,EAAE,cAAc,EAAE;QAC3B,OAAO;KACR,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inharness-ai/claude4spec",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.23",
|
|
4
4
|
"description": "Plan the whole system before your agent writes a line of code. Local-first planning layer with structured entities and typed relations.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Mike Tomala <mike@inharness.ai>",
|