stitchkit 0.111.2 → 0.112.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/dist/application/diagnostic-journal-contract.d.ts +1 -1
- package/dist/application/diagnostic-journal-contract.d.ts.map +1 -1
- package/dist/entrypoints/agent-runtime/coding-tools.js +3 -3
- package/dist/entrypoints/agent-runtime/harness.js +6 -6
- package/dist/entrypoints/agent-runtime/sandbox.js +3 -3
- package/dist/entrypoints/agent-runtime/sqlite/bun.js +5 -5
- package/dist/entrypoints/agent-runtime/sqlite/node.js +5 -5
- package/dist/entrypoints/agent-runtime/testing.js +5 -5
- package/dist/entrypoints/agent-runtime.js +12 -12
- package/dist/entrypoints/application/diagnostic-journal.js +1 -1
- package/dist/entrypoints/application/directory-inbox.js +3 -3
- package/dist/entrypoints/cli/publish.js +2 -2
- package/dist/entrypoints/cli.js +8 -8
- package/dist/entrypoints/files.js +2 -2
- package/dist/entrypoints/server.js +3 -3
- package/dist/entrypoints/telegram.js +1 -1
- package/dist/entrypoints/testing.js +1 -1
- package/dist/entrypoints/tools/connections.js +6 -4
- package/dist/entrypoints/tools/contract.js +2 -2
- package/dist/entrypoints/tools/invoker.js +6 -6
- package/dist/entrypoints/tools/mcp.js +8 -8
- package/dist/entrypoints/tools.js +11 -11
- package/dist/{index-mha6b4vk.js → index-02h0dfpr.js} +12 -5
- package/dist/{index-0z3kfphz.js → index-38gvr73z.js} +1 -1
- package/dist/{index-8jv0trhg.js → index-5as18gs2.js} +1 -1
- package/dist/{index-t2bsd0hm.js → index-5v5a9k2n.js} +92 -43
- package/dist/{index-c5374vpt.js → index-651xsm48.js} +4 -4
- package/dist/{index-w9mqgnz9.js → index-6b3pcq5z.js} +1 -1
- package/dist/{index-v2eyj2ws.js → index-bd7spznx.js} +20 -7
- package/dist/{index-7c046kxr.js → index-c7h371gr.js} +4 -4
- package/dist/{index-mnk5vgdr.js → index-d4cnhfdn.js} +1 -1
- package/dist/{index-t5sjh517.js → index-epmnrnth.js} +18 -1
- package/dist/{index-636mggad.js → index-ff3agzaf.js} +1 -1
- package/dist/{index-7c957abz.js → index-fh2ht88b.js} +1 -1
- package/dist/{index-q6crhe1n.js → index-h7accrrv.js} +19 -6
- package/dist/{index-0d8m0kee.js → index-hvg9hctd.js} +3 -3
- package/dist/{index-nx49x0tw.js → index-hy802jnr.js} +1 -1
- package/dist/{index-dd1z5kxb.js → index-jfk93gja.js} +3 -3
- package/dist/{index-cykxpxz5.js → index-jy9wq8tp.js} +1 -1
- package/dist/{index-ey15wx6j.js → index-n0adphfg.js} +1 -1
- package/dist/{index-ghwntn9n.js → index-vqdjym30.js} +2 -2
- package/dist/internal/exclusive-lock-owner.d.ts +53 -0
- package/dist/internal/exclusive-lock-owner.d.ts.map +1 -0
- package/dist/internal/exclusive-lock.d.ts +1 -28
- package/dist/internal/exclusive-lock.d.ts.map +1 -1
- package/dist/internal/open-descriptors.d.ts +18 -0
- package/dist/internal/open-descriptors.d.ts.map +1 -0
- package/dist/internal/with-exclusive-lock.d.ts +2 -12
- package/dist/internal/with-exclusive-lock.d.ts.map +1 -1
- package/dist/tools/cli/args.d.ts.map +1 -1
- package/dist/tools/cli/help.d.ts.map +1 -1
- package/dist/tools/connections/runtime.d.ts +1 -1
- package/dist/tools/connections/runtime.d.ts.map +1 -1
- package/dist/tools/execute-args.d.ts.map +1 -1
- package/dist/tools/schema/flatten-join.d.ts.map +1 -1
- package/dist/tools/schema/json-schema-origin.d.ts +17 -0
- package/dist/tools/schema/json-schema-origin.d.ts.map +1 -1
- package/llms/cli.2.txt +11 -1
- package/llms/cli.txt +10 -1
- package/llms/files.txt +1 -1
- package/llms/process.txt +10 -0
- package/llms/stitchkit.txt +3 -3
- package/llms/tools-connections.txt +1 -1
- package/llms/tools.txt +8 -3
- package/llms/{upgrading-0.101.0-0.111.0.txt → upgrading-0.103.0-0.112.0.txt} +34 -63
- package/llms/{upgrading-0.61.0-0.73.0.txt → upgrading-0.61.0-0.74.0.txt} +64 -3
- package/llms/{upgrading-0.74.0-0.100.0.txt → upgrading-0.75.0-0.102.0.txt} +63 -64
- package/llms/upgrading.txt +3 -3
- package/llms-full.txt +75 -10
- package/llms.txt +8 -8
- package/package.json +1 -1
package/llms-full.txt
CHANGED
|
@@ -77,12 +77,12 @@ own, recorded as an ADR.
|
|
|
77
77
|
| `stitchkit/geo` | server (Bun or Node) | evolving | managed GeoIP reader generations, last-known-good reload and the optional MaxMind adapter |
|
|
78
78
|
| `stitchkit/oauth` | browser **and** server | evolving | provider-neutral Authorization Code + PKCE request and one-shot callback transaction mechanics |
|
|
79
79
|
| `stitchkit/google` | server (Bun or Node) | evolving | optional Google code exchange and verified OIDC identity adapter |
|
|
80
|
-
| `stitchkit/observability` | server | stable<br>_redefined in 2 of the
|
|
80
|
+
| `stitchkit/observability` | server | stable<br>_redefined in 2 of the 57 minors since 0.56.2, most recently 0.92.0_ | request/tool event projections — `createObservability`, trace context, sanitisation |
|
|
81
81
|
| `stitchkit/testing` | tests on Bun or Node | stable | in-process generated clients over a real Fetch handler, the managed-resource conformance kit and manual time for schedules and retries |
|
|
82
82
|
| `stitchkit/declaration` | browser + build and deployment tooling (Bun or Node) | evolving | `ProjectDeclarationSchema` — the one machine-readable statement a repository makes about itself |
|
|
83
83
|
| `stitchkit/react` | browser + server rendering | stable | `createCursorQuery`, `createCacheBridge`, QueryClient and `ApiError` retry policy |
|
|
84
84
|
| `stitchkit/react/keyboard` | browser | evolving | which part of a screen gets a key — ordered layers, one Escape per level, list zones with real focus; see [keyboard guide](keyboard.md) |
|
|
85
|
-
| `stitchkit/agent-runtime` | server | evolving<br>_redefined in 23 of the
|
|
85
|
+
| `stitchkit/agent-runtime` | server | evolving<br>_redefined in 23 of the 57 minors since 0.56.2, most recently 0.105.0_ | optional durable conversation/run loop, history, models, prompts, fencing and events |
|
|
86
86
|
| `stitchkit/agent-runtime/sandbox` | server | evolving | optional Linux Bubblewrap sessions, durable workspaces and a host HTTP credential gateway; see [sandbox guide](sandbox.md) |
|
|
87
87
|
| `stitchkit/agent-runtime/testing` | tests on Bun or Node | evolving | credential-free replay, scripted provider faults, deterministic race controls and the agent-store conformance kit |
|
|
88
88
|
| `stitchkit/agent-runtime/harness` | server | evolving | resource-aware process-local facade over the canonical Agent runtime; supervision stays outside |
|
|
@@ -94,7 +94,7 @@ own, recorded as an ADR.
|
|
|
94
94
|
| `stitchkit/agent-runtime/sqlite/bun` | server (Bun) | evolving | durable built-in SQLite store for the agent runtime |
|
|
95
95
|
| `stitchkit/agent-runtime/sqlite/node` | server (Node ≥ 22.5) | evolving | durable built-in SQLite store for the agent runtime |
|
|
96
96
|
| `stitchkit-tui` | terminal (Bun) | evolving | optional official OpenTUI host over a caller-composed headless runtime |
|
|
97
|
-
| `stitchkit/application` | browser + server | evolving<br>_redefined in 14 of the
|
|
97
|
+
| `stitchkit/application` | browser + server | evolving<br>_redefined in 14 of the 57 minors since 0.56.2, most recently 0.110.0_ | managed resource graph, readiness, admission, schedules, subtree restart and bounded shutdown |
|
|
98
98
|
| `stitchkit/application/grammy` | server | evolving | a grammY bot as application resources — configuration, then polling with updates admitted by batch — and the webhook adapter |
|
|
99
99
|
| `stitchkit/application/opentelemetry` | server | evolving | maps application snapshots onto an injected OpenTelemetry `Meter` |
|
|
100
100
|
| `stitchkit/application/schemas` | browser + server | evolving | the application's snapshot, health and shutdown schemas alone, without the kernel |
|
|
@@ -4428,12 +4428,17 @@ A field that is a number in every variant is advertised as a number, not as a
|
|
|
4428
4428
|
bare description. Scalar collisions keep every provable kind in a deterministic
|
|
4429
4429
|
JSON Schema type array. If any alternative is an object or array, the property
|
|
4430
4430
|
retains distinct structural alternatives in `anyOf`: object properties, typed
|
|
4431
|
-
array items, bounds and nullable values remain available to the model.
|
|
4431
|
+
array items, bounds and nullable values remain available to the model. Each
|
|
4432
|
+
alternative is described by the discriminator values that select it
|
|
4433
|
+
(`When type = image.`, or `When type = photo | video.` for a shape two values share),
|
|
4434
|
+
so the model can pair a shape with its value; the order of the alternatives is
|
|
4435
|
+
canonical, not the order of the variants. The
|
|
4432
4436
|
containing discriminated union still becomes one object; flat mode does not
|
|
4433
4437
|
promise to remove every nested union keyword. Only a branch whose kind is
|
|
4434
4438
|
actually unknowable, such as a free-form schema or unresolved reference, leaves
|
|
4435
|
-
the collision unconstrained. → ADRs [0044](../decisions/0044-a-collided-field-keeps-its-type.md)
|
|
4436
|
-
|
|
4439
|
+
the collision unconstrained. → ADRs [0044](../decisions/0044-a-collided-field-keeps-its-type.md),
|
|
4440
|
+
[0205](../decisions/0205-flat-tool-collisions-retain-structural-alternatives.md)
|
|
4441
|
+
and [0267](../decisions/0267-a-flat-alternative-names-the-values-that-select-it.md).
|
|
4437
4442
|
|
|
4438
4443
|
It is **deep** because the projection walks the generated JSON Schema document,
|
|
4439
4444
|
including objects, arrays, tuples and schema-definition nodes. Structurally
|
|
@@ -8916,6 +8921,16 @@ unlink. Recovery depth is capped at 16; a deeper stale chain refuses recovery wi
|
|
|
8916
8921
|
the bounded `LOCK_TIMEOUT`. Live owners, unknown process-lifetime evidence and unsafe records are never
|
|
8917
8922
|
reclaimed. Concurrent writers cannot bypass a guard while a prior unlink is paused.
|
|
8918
8923
|
|
|
8924
|
+
A record that names this very process is held only while a descriptor of this process is open
|
|
8925
|
+
on the lock: the holder keeps the one it created the lock with until it releases. A process image
|
|
8926
|
+
replaced in place — `execve`, which is how `bun --watch` restarts — keeps its PID and kernel start
|
|
8927
|
+
time, so its record still matches, but not that descriptor, and the new image takes the lock over
|
|
8928
|
+
at once instead of waiting for the PID to change. Worker threads and a second copy of the package
|
|
8929
|
+
in the same process share the descriptor table, so a hold any of them takes is never displaced.
|
|
8930
|
+
The check counts only when `/dev/fd` lists the descriptor it opens itself; a listing it cannot
|
|
8931
|
+
prove complete means "unknown", which never reclaims. A replaced image of another process is
|
|
8932
|
+
still judged alive.
|
|
8933
|
+
|
|
8919
8934
|
## Libraries with a Zod-only runtime
|
|
8920
8935
|
|
|
8921
8936
|
Public leaves keep optional peers out of their import closure. Installing `stitchkit` still
|
|
@@ -9926,6 +9941,15 @@ string, the schema says what it should be:
|
|
|
9926
9941
|
| `z.record(z.string(), z.unknown())` | `--data '{"code":"007"}'` or `--data.code=007` → `"007"` |
|
|
9927
9942
|
| `.optional()` / `.default()` | not required |
|
|
9928
9943
|
|
|
9944
|
+
An array option takes **one value per occurrence**, never a bare list after the flag.
|
|
9945
|
+
Repeat it (`--tag a --tag b`) or assign the whole array (`--tag:='["a","b"]'`).
|
|
9946
|
+
Without an explicit command `positionals` policy, combining any named array option
|
|
9947
|
+
with bare positionals is refused before dispatch: schema-order inference could otherwise
|
|
9948
|
+
assign the remaining array elements to unrelated fields. This includes short aliases,
|
|
9949
|
+
dotted array leaves, whole-array JSON and tokens after `--`, regardless of token order.
|
|
9950
|
+
Name the scalar fields too, or declare their exact positional destinations. An explicitly
|
|
9951
|
+
declared trailing positional array is the variadic form described below.
|
|
9952
|
+
|
|
9929
9953
|
Use the inline `:=` form to assign a whole JSON value without scalar coercion:
|
|
9930
9954
|
|
|
9931
9955
|
```bash
|
|
@@ -10201,7 +10225,7 @@ Declared aliases render beside their canonical options, for example
|
|
|
10201
10225
|
|
|
10202
10226
|
The argument table and `Application options:` show bounds from their JSON Schema,
|
|
10203
10227
|
for example `<integer> [>=1, <=50]`, `<string> [length >=1, length <=12]`, and
|
|
10204
|
-
`<value
|
|
10228
|
+
`<value> [items >=2, items <=4]`. Numeric `>` and `<` are exclusive, while `>=`
|
|
10205
10229
|
and `<=` include the endpoint; a zero limit is displayed too. Only limits the
|
|
10206
10230
|
schema declares are shown: the safe-integer range every `z.int()` carries is the
|
|
10207
10231
|
type, not a bound, so a bare integer prints `<integer>`, `.min(1)` prints `>=1` and
|
|
@@ -10771,6 +10795,16 @@ One unconvertible schema does not take the connection down. The tool
|
|
|
10771
10795
|
is skipped and **named** (`onSkippedTool`, or a stderr line by default), so a
|
|
10772
10796
|
surface of two hundred tools is not lost to one.
|
|
10773
10797
|
|
|
10798
|
+
**A discovered schema is checked locally, except for its unions.** The arguments are
|
|
10799
|
+
coerced and parsed against the schema the server advertised, so a missing field or a
|
|
10800
|
+
wrong scalar is refused before anything is sent. A union in that schema is not judged
|
|
10801
|
+
here: a server's presentation may join a discriminated union into one object whose
|
|
10802
|
+
shared field is an unlabelled `anyOf` (a stitchkit server with `flattenUnionInput`
|
|
10803
|
+
does), and judged against that, a wrong value could only be refused with every branch
|
|
10804
|
+
listed. The value goes to the server, which holds the original schema, and its refusal
|
|
10805
|
+
names the one wrong field — `blocks.0.data.artifactId: expected string` rather than
|
|
10806
|
+
`No union branch matched — branch 1 … and 6 more branches`.
|
|
10807
|
+
|
|
10774
10808
|
MCP connection limits follow the operation phase. `initialize`, the initialized
|
|
10775
10809
|
notification, `tools/list` and legacy endpoint discovery use `limits.discovery`;
|
|
10776
10810
|
`tools/call` uses `limits.call`. A mounted call's handshake still uses discovery
|
|
@@ -16168,6 +16202,37 @@ analytics policy belong to the application.
|
|
|
16168
16202
|
|
|
16169
16203
|
# Upgrading stitchkit
|
|
16170
16204
|
|
|
16205
|
+
## Released migration: 0.112.0
|
|
16206
|
+
|
|
16207
|
+
**Who must act:** scripts using an array option together with bare positional arguments without a declared `positionals` policy, including calls to `parseCliArgs`.
|
|
16208
|
+
|
|
16209
|
+
An array flag consumes one value. Automatic schema-order positionals cannot distinguish additional array elements from values intended for unrelated fields, so the combination is refused before any handler or stdin read. The rule is independent of token order, includes aliases, dotted array leaves and whole-array JSON, and `--` does not bypass it. See [ADR 0268](../decisions/0268-named-cli-arrays-require-explicit-positional-destinations.md).
|
|
16210
|
+
|
|
16211
|
+
```sh
|
|
16212
|
+
# before: the last two words could populate unrelated fields
|
|
16213
|
+
app resolve --references alpha.md beta.md gamma.md
|
|
16214
|
+
# after: repeat the option or assign the whole array
|
|
16215
|
+
app resolve --references alpha.md --references beta.md --references gamma.md
|
|
16216
|
+
app resolve --references:='["alpha.md","beta.md","gamma.md"]'
|
|
16217
|
+
|
|
16218
|
+
# before: even an intended scalar positional has an implicit destination
|
|
16219
|
+
app resolve project-one --references alpha.md
|
|
16220
|
+
# after: name it
|
|
16221
|
+
app resolve --projectId project-one --references alpha.md
|
|
16222
|
+
```
|
|
16223
|
+
|
|
16224
|
+
Applications that intend positional syntax declare its destinations on the available command:
|
|
16225
|
+
|
|
16226
|
+
```ts
|
|
16227
|
+
createCli({ ...config, positionals: { resolve: ['projectId'] } })
|
|
16228
|
+
// app resolve project-one --references alpha.md
|
|
16229
|
+
|
|
16230
|
+
createCli({ ...config, positionals: { resolve: ['references'] } })
|
|
16231
|
+
// app resolve alpha.md beta.md gamma.md
|
|
16232
|
+
```
|
|
16233
|
+
|
|
16234
|
+
A declared trailing array accepts all remaining positional elements. Giving that same field both a flag and positional elements remains an error. An empty policy accepts flags only. Policies still target exact available command names: a partial dynamic catalogue needs no policy for an unavailable command to enforce this admission rule.
|
|
16235
|
+
|
|
16171
16236
|
## Released migration: 0.111.0
|
|
16172
16237
|
|
|
16173
16238
|
**Who must act:** applications whose raw routes call `parseBody` on JSON larger than 1 MiB, and applications whose OAuth clients send `/register` or `/token` bodies larger than 64 KiB.
|
|
@@ -22904,7 +22969,7 @@ and approval path.
|
|
|
22904
22969
|
| `ConnectionPhase` / `ConnectionOperation` / `ConnectionFailureContext` | _type_ | closed operation/phase vocabulary and measured read context for existing typed connection errors |
|
|
22905
22970
|
| `ConnectionTimeoutError` / `ConnectionResponseTooLargeError` | class | bounded operation refusal, with phase, operation and finite observed bytes; safe tool projection retains the raw cause locally |
|
|
22906
22971
|
| `defineOpenApiConnection` | function | declare one OpenAPI document (object, JSON text or JSON URL) as a tool surface |
|
|
22907
|
-
| `mountConnections` | function | discover every connection and return readonly `RuntimeToolDefinition`s for `mountAgent
|
|
22972
|
+
| `mountConnections` | function | discover every connection and return readonly `RuntimeToolDefinition`s for `mountAgent`; a call's arguments are parsed against the discovered schema before sending, except its unions, which the server judges (ADR 0266) |
|
|
22908
22973
|
| `ConnectionAuthorizationRequiredError` | class | typed reauthorization signal raised on `401` with credentials resolved again on the next call |
|
|
22909
22974
|
| `ConnectionBudgetExceededError` | class | the mount would expose more foreign tools than its declared budget |
|
|
22910
22975
|
| `ConnectionRequestError` | class | any non-`2xx` connection response other than the reauthorization signal |
|
|
@@ -23013,7 +23078,7 @@ available from `stitchkit/contract`.
|
|
|
23013
23078
|
| `writeFileAtomic` / `writeFileAtomicSync` / `WriteFileAtomicOptions` | function / _type_ | replace a file atomically: a random staging name created exclusively (never through a planted link), the mode set on the descriptor before the file is visible (default `0o600`, not masked by the umask), `fsync`, rename; a failure leaves the target and no staging file. The asynchronous form keeps the event loop running. A process killed before publication leaves its staging file; sweeping it is the caller's job |
|
|
23014
23079
|
| `isAtomicStagingName` | function | true for a staging file name of an atomic write of this library (`.stitchkit-<24 lowercase hex>.tmp`, also used by the managed writer and the chunk spool); the form is a stable contract, and changing it is a breaking change ([ADR 0242](../decisions/0242-atomic-staging-name-is-a-public-contract.md)) |
|
|
23015
23080
|
| `sweepAtomicStaging` / `SweepAtomicStagingOptions` | function / _type_ | remove abandoned staging files from one `directory`: only regular files matching `isAtomicStagingName` and older than the required `olderThanMs`, never following a symlink or entering a subdirectory; stops on `signal`; returns the removed names, `[]` for a `directory` that does not exist |
|
|
23016
|
-
| `withExclusiveLock` / `ExclusiveLockOptions` / `ExclusiveLock` / `ExclusiveLockOwner` | function / _type_ | run work under an exclusive lock between processes — a file recording its owner (pid, host, machine identity, time and nullable kernel process identity); waits up to `timeoutMs` (default 10 s) and stops on `signal`; a dead owner on this machine is taken over, a live, slow or foreign one never is; the lock is published with its owner already recorded (temporary file plus hard link), so a stalled holder is never displaced; a legacy empty lock file is taken by age only when `ownerlessGraceMs` is a number (default `null`: never; an abandoned empty reclaim guard is taken after 5 000 ms unless a value is set); exact `mode` is independent of umask; shared readers need a common group and traversable directories |
|
|
23081
|
+
| `withExclusiveLock` / `ExclusiveLockOptions` / `ExclusiveLock` / `ExclusiveLockOwner` | function / _type_ | run work under an exclusive lock between processes — a file recording its owner (pid, host, machine identity, time and nullable kernel process identity); waits up to `timeoutMs` (default 10 s) and stops on `signal`; a dead owner on this machine is taken over, a live, slow or foreign one never is; a lock recorded by this very process is held only while one of its descriptors is open on it, so the lock an earlier image of the same PID left (`bun --watch` restarts in place) is taken over at once; the lock is published with its owner already recorded (temporary file plus hard link), so a stalled holder is never displaced; a legacy empty lock file is taken by age only when `ownerlessGraceMs` is a number (default `null`: never; an abandoned empty reclaim guard is taken after 5 000 ms unless a value is set); exact `mode` is independent of umask; shared readers need a common group and traversable directories |
|
|
23017
23082
|
| `ExclusiveLockError` | class | `LOCK_TIMEOUT` naming the resource and its holder, or `LOCK_ABORTED` with the signal's reason |
|
|
23018
23083
|
| `createChunkSpool` | function | the server half of a chunked upload: parts on disk under `owner` + client-minted `uploadId`, each with a size+sha256 receipt; idempotent `open` and `put`, the first writer of a part wins across processes, `assemble` in order once every part is in, `sweep` of untouched uploads — [guide](../guide/client.md#chunked-uploads) |
|
|
23019
23084
|
| `ChunkSpool` / `ChunkSpoolConfig` / `ChunkSpoolKey` / `ChunkSpoolOpen` / `ChunkSpoolPart` / `ChunkSpoolAssembly` | _type_ | the spool, its directory, part size, file limit, meta schema and age; an upload's key; its declaration; one part; the assembled parts with a concatenating `stream()` |
|
|
@@ -23385,7 +23450,7 @@ SDK nor the `ai` peer.
|
|
|
23385
23450
|
|--------|------|---------|
|
|
23386
23451
|
| `createCli` | function | build and run a CLI from contracts — [guide](../guide/cli.md) |
|
|
23387
23452
|
| `defineCliCommand` | function | define one Zod-typed CLI-only executable command with optional validated-result presentation/exit policy |
|
|
23388
|
-
| `parseCliArgs` | function | argv → typed tool args against a schema; inline `--field:=JSON` assigns a whole JSON value, including null, while ordinary string flags remain lexical (advanced) |
|
|
23453
|
+
| `parseCliArgs` | function | argv → typed tool args against a schema; inline `--field:=JSON` assigns a whole JSON value, including null, while ordinary string flags remain lexical; named array options together with bare positionals require an explicit `positionals` policy (advanced) |
|
|
23389
23454
|
| `routeCliArgv` | function | select the command out of argv without duplicating the global-option grammar (advanced) |
|
|
23390
23455
|
| `extractCliGlobalOptions` | function | lift the application's own global options out of argv before routing (advanced) |
|
|
23391
23456
|
| `coerceJsonArgs` | function | the second half of `parseCliArgs` — parse array/object values a consumer sends itself, including discovered MCP object guards restored from JSON Schema, without the `stitchkit/tools` barrel |
|
package/llms.txt
CHANGED
|
@@ -13,12 +13,12 @@ Load the slice for each entrypoint your code imports — `import … from 'stitc
|
|
|
13
13
|
- **stitchkit/live**: [llms/live.txt](llms/live.txt) 21.2 KB
|
|
14
14
|
- **stitchkit/react**: [llms/react.txt](llms/react.txt) 8.6 KB
|
|
15
15
|
- **stitchkit/react/keyboard**: [llms/react-keyboard.txt](llms/react-keyboard.txt) 9.2 KB
|
|
16
|
-
- **stitchkit/tools**: [llms/tools.txt](llms/tools.txt) 46.
|
|
16
|
+
- **stitchkit/tools**: [llms/tools.txt](llms/tools.txt) 46.7 KB → [llms/tools.2.txt](llms/tools.2.txt) 30.4 KB → [llms/tools.3.txt](llms/tools.3.txt) 26.3 KB
|
|
17
17
|
- **stitchkit/tools/mcp**: [llms/tools-mcp.txt](llms/tools-mcp.txt) 1.8 KB
|
|
18
18
|
- **stitchkit/tools/contract**: [llms/tools-contract.txt](llms/tools-contract.txt) 0.2 KB
|
|
19
19
|
- **stitchkit/tools/invoker**: [llms/tools-invoker.txt](llms/tools-invoker.txt) 0.2 KB
|
|
20
|
-
- **stitchkit/tools/connections**: [llms/tools-connections.txt](llms/tools-connections.txt) 3.
|
|
21
|
-
- **stitchkit/cli**: [llms/cli.txt](llms/cli.txt)
|
|
20
|
+
- **stitchkit/tools/connections**: [llms/tools-connections.txt](llms/tools-connections.txt) 3.8 KB
|
|
21
|
+
- **stitchkit/cli**: [llms/cli.txt](llms/cli.txt) 45.3 KB → [llms/cli.2.txt](llms/cli.2.txt) 21.4 KB
|
|
22
22
|
- **stitchkit/cli/publish**: [llms/cli-publish.txt](llms/cli-publish.txt) 1.5 KB
|
|
23
23
|
- **stitchkit/remote**: [llms/remote.txt](llms/remote.txt) 1.0 KB
|
|
24
24
|
- **stitchkit/contract**: [llms/contract.txt](llms/contract.txt) 31.9 KB
|
|
@@ -41,7 +41,7 @@ Load the slice for each entrypoint your code imports — `import … from 'stitc
|
|
|
41
41
|
- **stitchkit/application/schemas**: [llms/application-schemas.txt](llms/application-schemas.txt) 1.8 KB
|
|
42
42
|
- **stitchkit/testing**: [llms/testing.txt](llms/testing.txt) 33.6 KB
|
|
43
43
|
- **stitchkit/agent-runtime/sandbox**: [llms/agent-runtime-sandbox.txt](llms/agent-runtime-sandbox.txt) 8.3 KB
|
|
44
|
-
- **stitchkit/files**: [llms/files.txt](llms/files.txt) 5.
|
|
44
|
+
- **stitchkit/files**: [llms/files.txt](llms/files.txt) 5.7 KB
|
|
45
45
|
- **stitchkit/telegram**: [llms/telegram.txt](llms/telegram.txt) 36.6 KB
|
|
46
46
|
- **stitchkit/telegram/html**: [llms/telegram-html.txt](llms/telegram-html.txt) 2.7 KB
|
|
47
47
|
- **stitchkit/telegram/screens**: [llms/telegram-screens.txt](llms/telegram-screens.txt) 21.2 KB
|
|
@@ -56,7 +56,7 @@ Load the slice for each entrypoint your code imports — `import … from 'stitc
|
|
|
56
56
|
- **stitchkit/node**: [llms/node.txt](llms/node.txt) 3.1 KB
|
|
57
57
|
- **stitchkit/agent-runtime/react**: [llms/agent-runtime-react.txt](llms/agent-runtime-react.txt) 1.0 KB
|
|
58
58
|
- **stitchkit/agent-runtime/realtime**: [llms/agent-runtime-realtime.txt](llms/agent-runtime-realtime.txt) 2.6 KB
|
|
59
|
-
- **stitchkit/process**: [llms/process.txt](llms/process.txt)
|
|
59
|
+
- **stitchkit/process**: [llms/process.txt](llms/process.txt) 44.4 KB → [llms/process.2.txt](llms/process.2.txt) 4.3 KB
|
|
60
60
|
- **stitchkit/process/owner-loss**: [llms/process-owner-loss.txt](llms/process-owner-loss.txt) 0.9 KB
|
|
61
61
|
- **stitchkit/files/packaging**: [llms/files-packaging.txt](llms/files-packaging.txt) 3.5 KB
|
|
62
62
|
- **stitchkit/http**: [llms/http.txt](llms/http.txt) 0.9 KB
|
|
@@ -64,9 +64,9 @@ Load the slice for each entrypoint your code imports — `import … from 'stitc
|
|
|
64
64
|
|
|
65
65
|
## Upgrading slices
|
|
66
66
|
- **Upgrading — how to move across versions**: [llms/upgrading.txt](llms/upgrading.txt) 12.7 KB
|
|
67
|
-
- **Upgrading 0.
|
|
68
|
-
- **Upgrading 0.
|
|
69
|
-
- **Upgrading 0.61.0 → 0.
|
|
67
|
+
- **Upgrading 0.103.0 → 0.112.0**: [llms/upgrading-0.103.0-0.112.0.txt](llms/upgrading-0.103.0-0.112.0.txt) 46.6 KB
|
|
68
|
+
- **Upgrading 0.75.0 → 0.102.0**: [llms/upgrading-0.75.0-0.102.0.txt](llms/upgrading-0.75.0-0.102.0.txt) 44.8 KB
|
|
69
|
+
- **Upgrading 0.61.0 → 0.74.0**: [llms/upgrading-0.61.0-0.74.0.txt](llms/upgrading-0.61.0-0.74.0.txt) 43.5 KB
|
|
70
70
|
- **Upgrading 0.44.0 → 0.60.0**: [llms/upgrading-0.44.0-0.60.0.txt](llms/upgrading-0.44.0-0.60.0.txt) 43.9 KB
|
|
71
71
|
- **Upgrading 0.37.0 → 0.37.0**: [llms/upgrading-0.37.0.txt](llms/upgrading-0.37.0.txt) 6.2 KB
|
|
72
72
|
|
package/package.json
CHANGED