@jimhoyd/urlcode 0.5.8 → 0.5.9
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/README.md +1 -1
- package/dist/BUILD-MANIFEST.json +3 -3
- package/dist/agent-context.js +9 -0
- package/dist/cli.js +1 -1
- package/dist/mcp.js +5 -2
- package/docs/TOOLING.md +8 -0
- package/llms-full.txt +2 -2
- package/llms.txt +1 -1
- package/package.json +5 -1
package/README.md
CHANGED
|
@@ -110,7 +110,7 @@ it. Cross-repository acceptance is tracked in
|
|
|
110
110
|
## Status
|
|
111
111
|
|
|
112
112
|
<!-- urlcode-current-version:start -->
|
|
113
|
-
This checkout prepares the coordinated `0.5.
|
|
113
|
+
This checkout prepares the coordinated `0.5.9` core, UI, auth, admin and store
|
|
114
114
|
release. Package availability remains a live registry fact: use `npm run
|
|
115
115
|
release:status` or the release's signed `train.json` before selecting an
|
|
116
116
|
install combination. Independent package versioning remains enabled, and a
|
package/dist/BUILD-MANIFEST.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"node": "v26.9.0",
|
|
3
3
|
"files": {
|
|
4
4
|
"dist/adapters.js": "a7153ec52f2ed7e0cdd8ed7d433504815f402ec53b2b1c3d38d0cf0e2fcf6509",
|
|
5
|
-
"dist/agent-context.js": "
|
|
5
|
+
"dist/agent-context.js": "cdad0c535ea2771d993f5d9b10bc35aee563d3a6db9618cf97ed072f610164df",
|
|
6
6
|
"dist/agent-lists.js": "35ab484198897501d011cb6cc00b5a6787192e19df29c97646e8c118fcc19eef",
|
|
7
7
|
"dist/agents-guide.js": "307d92879034ef019213ab5c15ff5806de3333da4bb263d46fa87049d1a85d5c",
|
|
8
8
|
"dist/assets.js": "85d8e379dab466bc406b2ea1a9385f1fcecb35d05d825eb83089c55a62f6d1a4",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"dist/capabilities.js": "f14c17de63764f6f4686fc1404bf21aa5cf56125ad81e6d6157a429438fc0cbf",
|
|
17
17
|
"dist/capability-query.js": "00fbd8b592dea05de7487f3de21e6aa8808a6d2a90e8808811abeb843375dab3",
|
|
18
18
|
"dist/catalog.js": "629ed1d3580d5c5e238a4293e5b8491ba99d6948accda316bbd2ee3d7902cc0f",
|
|
19
|
-
"dist/cli.js": "
|
|
19
|
+
"dist/cli.js": "98f0209fab9204401ad6950a3b9fea9f6029546ca905977ee5492d33b390b6f1",
|
|
20
20
|
"dist/client-address.js": "9d0d01466aab23124330605c5a0e0f981f87c897858acfad909f546a63df165b",
|
|
21
21
|
"dist/cloudflare.js": "b236918e499215ee42c2865181b3ed92decba0bf9d604f17f8b08736c86751d9",
|
|
22
22
|
"dist/compliance-rules/baseline.js": "6296dea6bcb9f9bb80ed6ed5ab2f456e7f74e6de2be5d2d98ca8c983fb4df3ab",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"dist/manifest.js": "83eed0d59621039ef364cf6e7b54c5bd47e0d8cf0a5abe7b07344bfc1db56ed8",
|
|
55
55
|
"dist/match.js": "9069dfc59d485c7ed3b618d4ab4cfabcd67299ea4c45c646565e44a57b4bd51d",
|
|
56
56
|
"dist/mcp-authoring.js": "0753fb4f330ab710c7ee115315d7beb33b11faa80ca1b4fc114f5561c8abf7a7",
|
|
57
|
-
"dist/mcp.js": "
|
|
57
|
+
"dist/mcp.js": "fe94c09e0e57d18fa23ecb79b872c267f3644fc4ab3e00f9167f9ad9035b418c",
|
|
58
58
|
"dist/object-guards.js": "5af6012c803e9d587cb4270f52011bd2ba3e4655f73198dddc4ca327cdf89675",
|
|
59
59
|
"dist/observability.js": "f4b1ab496f051fe3ef2ed36b2b2e469c63a8940700e2df852e6ff2d9cccdd5ae",
|
|
60
60
|
"dist/operator-host.js": "e3dac9d43a83beb775202b4ab9eeeba7ac63cebfc5dcc669be38d825be587bd0",
|
package/dist/agent-context.js
CHANGED
|
@@ -7,6 +7,15 @@ import {listExamples} from './examples.js';
|
|
|
7
7
|
* Fixed, package-owned agent material. This is intentionally a manifest rather
|
|
8
8
|
* than an arbitrary file reader: MCP clients cannot use it to enumerate or
|
|
9
9
|
* exfiltrate a local project.
|
|
10
|
+
*
|
|
11
|
+
* Every export here is public API, published as `@jimhoyd/urlcode/agent-context`
|
|
12
|
+
* (see docs/TOOLING.md and docs/TYPESCRIPT.md) so a host building its own MCP
|
|
13
|
+
* server or agent-tooling surface can reuse the same deterministic docs
|
|
14
|
+
* search, YAML validation and error-remediation guidance this package's own
|
|
15
|
+
* `serveMcp` (mcp.ts) uses, rather than re-implementing it or reaching into
|
|
16
|
+
* `dist/` directly. Signatures take only plain strings and return plain data;
|
|
17
|
+
* keep them that way so the subpath stays stable independent of internal
|
|
18
|
+
* types like `validateDocument`'s return shape.
|
|
10
19
|
*/
|
|
11
20
|
const packageRoot=fileURLToPath(new URL('../',import.meta.url));
|
|
12
21
|
const docs=[
|
package/dist/cli.js
CHANGED
|
@@ -30,7 +30,7 @@ import { readFile } from 'node:fs/promises';
|
|
|
30
30
|
import { installArtifact, inspectArtifacts } from './extension-artifacts.js';
|
|
31
31
|
import { installBundle, readBundleLock } from './extension-bundles.js';
|
|
32
32
|
|
|
33
|
-
const usage = `URLCode 0.5.
|
|
33
|
+
const usage = `URLCode 0.5.9 — local/self-hosted runtime
|
|
34
34
|
urlcode init <directory> [--with ui,auth,admin] [--bundle-release extension-bundles@vX.Y.Z] [--ack extension:id] [--manifest|--no-manifest] [--pin @scope/pkg=specifier]
|
|
35
35
|
# Writes one bare project scaffold (urlcode.yaml, empty fixtures, AGENTS.md, .mcp.json and project CI). Add routes deliberately after asking the local MCP for task-scoped context.
|
|
36
36
|
# init works in place in a directory holding only package.json, package-lock.json, node_modules or .git; an existing package.json is preserved, any other existing file is refused
|
package/dist/mcp.js
CHANGED
|
@@ -7,7 +7,10 @@ import {loadOperatorHost} from './operator-host.js';
|
|
|
7
7
|
import {buildManifest} from './manifest.js';
|
|
8
8
|
|
|
9
9
|
import {authoringDefinitions,callAuthoringTool} from './mcp-authoring.js';
|
|
10
|
-
|
|
10
|
+
// Imported through the public subpath, not a relative path into this module's own
|
|
11
|
+
// package, to prove @jimhoyd/urlcode/agent-context is sufficient for the framework's
|
|
12
|
+
// own MCP server rather than a documentation-only promise (see docs/TOOLING.md).
|
|
13
|
+
import {listSkills,getSkill,searchDocs,getExample,validateYaml,explainError} from '@jimhoyd/urlcode/agent-context';
|
|
11
14
|
import {isRecord as object} from './object-guards.js';
|
|
12
15
|
import {describeArtifactCache,readArtifactMember} from './extension-artifacts.js';
|
|
13
16
|
const protocolVersion='2025-11-25';
|
|
@@ -102,7 +105,7 @@ export async function serveMcp(options ) {
|
|
|
102
105
|
if(message.method==='initialize') {
|
|
103
106
|
if(initialized){await error(id,-32600,'Already initialized');return;}
|
|
104
107
|
if(typeof params.protocolVersion!=='string'||!object(params.capabilities)||!object(params.clientInfo)||typeof params.clientInfo.name!=='string'||typeof params.clientInfo.version!=='string'){await error(id,-32602,'Invalid initialize params');return;}
|
|
105
|
-
initialized=true;await send({jsonrpc:'2.0',id,result:{protocolVersion,capabilities:{tools:{}},serverInfo:{name:'urlcode',version:'0.5.
|
|
108
|
+
initialized=true;await send({jsonrpc:'2.0',id,result:{protocolVersion,capabilities:{tools:{}},serverInfo:{name:'urlcode',version:'0.5.9'}}});return;
|
|
106
109
|
}
|
|
107
110
|
if(message.method==='ping'){await send({jsonrpc:'2.0',id,result:{}});return;}
|
|
108
111
|
if(!ready){await error(id,-32002,'Initialize first');return;}
|
package/docs/TOOLING.md
CHANGED
|
@@ -281,6 +281,14 @@ documentation and example tools read only a fixed package-owned manifest; no
|
|
|
281
281
|
tool argument names an arbitrary local path or remote URL. The CLI equivalent of `search_docs` is
|
|
282
282
|
`urlcode docs search TEXT [--json]`, which returns the same at most three bounded excerpts. `validate_yaml` checks supplied
|
|
283
283
|
YAML syntax and schema only, while `validate` compiles the selected local project.
|
|
284
|
+
The `list_skills`, `get_skill`, `search_docs`, `get_example`, `validate_yaml` and
|
|
285
|
+
`explain_error` tools are thin wrappers over `@jimhoyd/urlcode/agent-context`
|
|
286
|
+
(`listSkills`, `getSkill`, `searchDocs`, `getExample`, `validateYaml`,
|
|
287
|
+
`explainError`), a public package export — not an internal detail of this
|
|
288
|
+
server. A host building its own MCP server, or any other agent-tooling
|
|
289
|
+
integration, can import that module directly instead of reimplementing this
|
|
290
|
+
behavior or reaching into `dist/agent-context.js`; see
|
|
291
|
+
[TypeScript](TYPESCRIPT.md).
|
|
284
292
|
`get_extension_artifacts` validates the project-selected
|
|
285
293
|
`urlcode.extensions.lock.json` and cache, then returns artifact metadata,
|
|
286
294
|
status and allowlisted member paths. `get_extension_artifact` accepts only a
|
package/llms-full.txt
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
> A portable runtime for programmable URL behavior, and the framework that grows
|
|
8
8
|
> from it: routes in YAML, functions and middleware, then accounts, administration and
|
|
9
9
|
> stored links as operator-installed extensions. Stable project format
|
|
10
|
-
> `version: "1"`. Core is Apache-2.0; this revision is `0.5.
|
|
10
|
+
> `version: "1"`. Core is Apache-2.0; this revision is `0.5.9`. `function`/`middleware`
|
|
11
11
|
> routes are trusted by default with `sandbox: true` as the per-route opt-in. The
|
|
12
12
|
> auth, admin, ui and store workspace packages are bundle sources. New sites install
|
|
13
13
|
> core from npm and verified executable extensions from an immutable GitHub Release;
|
|
@@ -784,7 +784,7 @@ programmatic compatibility analysis and provider verification limits.
|
|
|
784
784
|
Source: https://github.com/jimhoyd-com/urlcode/blob/main/docs/YAML-GUIDE.md
|
|
785
785
|
|
|
786
786
|
<!-- urlcode-current-version:start -->
|
|
787
|
-
This guide targets URLCode 0.5.
|
|
787
|
+
This guide targets URLCode 0.5.9. Start with the function example below,
|
|
788
788
|
then add only the fields your route needs. The authoritative machine-readable
|
|
789
789
|
shape is [JSON Schema](https://github.com/jimhoyd-com/urlcode/blob/main/schemas/urlcode.schema.json); semantic rules are in the
|
|
790
790
|
[specification](https://github.com/jimhoyd-com/urlcode/blob/main/docs/SPECIFICATION.md). Unsupported fields fail validation.
|
package/llms.txt
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
> A portable runtime for programmable URL behavior, and the framework that grows
|
|
5
5
|
> from it: routes in YAML, functions and middleware, then accounts, administration and
|
|
6
6
|
> stored links as operator-installed extensions. Stable project format
|
|
7
|
-
> `version: "1"`. Core is Apache-2.0; this revision is `0.5.
|
|
7
|
+
> `version: "1"`. Core is Apache-2.0; this revision is `0.5.9`. `function`/`middleware`
|
|
8
8
|
> routes are trusted by default with `sandbox: true` as the per-route opt-in. The
|
|
9
9
|
> auth, admin, ui and store workspace packages are bundle sources. New sites install
|
|
10
10
|
> core from npm and verified executable extensions from an immutable GitHub Release;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jimhoyd/urlcode",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.9",
|
|
4
4
|
"description": "Portable runtime for programmable URL behavior",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"workspaces": [
|
|
@@ -25,6 +25,10 @@
|
|
|
25
25
|
"types": "./dist/types/index.d.ts",
|
|
26
26
|
"default": "./dist/index.js"
|
|
27
27
|
},
|
|
28
|
+
"./agent-context": {
|
|
29
|
+
"types": "./dist/types/agent-context.d.ts",
|
|
30
|
+
"default": "./dist/agent-context.js"
|
|
31
|
+
},
|
|
28
32
|
"./aws": {
|
|
29
33
|
"types": "./dist/types/aws.d.ts",
|
|
30
34
|
"default": "./dist/aws.js"
|