@jskit-ai/agent-docs 0.1.217 → 0.1.219
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/guide/agent/app-extras/assistant-conversation.md +27 -0
- package/guide/agent/app-setup/upgrading-jskit.md +18 -0
- package/package.json +1 -1
- package/patterns/minimal-foundation/example/package.json +1 -1
- package/patterns/shell-foundation/example/package.json +1 -1
- package/reference/autogen/PATTERN_INDEX.md +4 -4
- package/reference/autogen/packages/assistant-core.md +7 -1
- package/reference/autogen/tooling/jskit-catalog.md +2 -2
- package/skills/jskit/references/pattern-index.md +4 -4
- package/skills/jskit/references/patterns/app/minimal-foundation/example/package.json +1 -1
- package/skills/jskit/references/patterns/app/shell-foundation/example/package.json +1 -1
|
@@ -17,6 +17,26 @@ Choose one transcript owner for a conversation. The [ordinary API](./assistant.m
|
|
|
17
17
|
is the starting point; [advanced hosts](#advanced-host-facilities) and
|
|
18
18
|
[testing](#testing-entrypoints) are separate reference areas.
|
|
19
19
|
|
|
20
|
+
### Prepare an offline development copy
|
|
21
|
+
|
|
22
|
+
Advanced hosts that copy a stopped conversation store can call
|
|
23
|
+
`prepareConversationRuntimeCopy(transaction, { at })` from
|
|
24
|
+
`@jskit-ai/assistant-core/server/conversation` inside the destination's ordinary
|
|
25
|
+
storage write transaction. `at` is an ISO timestamp. The host must first isolate
|
|
26
|
+
the destination, stop its processes and pause native provider goals through their
|
|
27
|
+
owners. The helper does not establish those host conditions or invoke providers.
|
|
28
|
+
|
|
29
|
+
It preserves transcript messages, configuration and native history identity,
|
|
30
|
+
clears copied execution handles, interrupts running turn projections and pauses
|
|
31
|
+
active goal projections. Pending requests remain available for inspection with a
|
|
32
|
+
copy diagnostic; preparation does not replay them. Version 3 state is required,
|
|
33
|
+
and unfinished replacements fail before writes. Upgrade the parent through its
|
|
34
|
+
normal state upgrade process rather than using this helper as a migration.
|
|
35
|
+
|
|
36
|
+
`prepareCopiedConversationAgentRun(run, { at })` supplies the corresponding pure
|
|
37
|
+
transform for an application's separately stored legacy run projection. Neither
|
|
38
|
+
operation belongs in normal startup or live recovery.
|
|
39
|
+
|
|
20
40
|
### Native delivery diagnostics
|
|
21
41
|
|
|
22
42
|
`createConversationRuntime({ onDeliveryTiming(event) {} })` accepts an optional
|
|
@@ -782,6 +802,9 @@ the application may supply one in options. `false`, `{ ok: false, error }`, or
|
|
|
782
802
|
a thrown error retain a failed entry. Exceptions are rethrown after recording
|
|
783
803
|
the visible failure. Undelivered bubbles use a neutral fill, dashed outline and
|
|
784
804
|
Pending label. A failed bubble has an error outline, its error and Retry action.
|
|
805
|
+
Queued bubbles keep their supplied order while awaiting receipts, even when an
|
|
806
|
+
earlier message receives a later native timestamp. Confirmed history retains
|
|
807
|
+
its chronological ordering.
|
|
785
808
|
Success removes the pending treatment but retains the bubble until authoritative
|
|
786
809
|
history contains its `user.messageId`, so it cannot flicker away before history
|
|
787
810
|
arrives. Older histories without IDs can match by text and timestamp.
|
|
@@ -3991,6 +4014,10 @@ continue to use the common runtime.
|
|
|
3991
4014
|
The same subpath exposes the extracted `createOpenCodeSharedRuntime` for hosts
|
|
3992
4015
|
whose managed service is shared by several conversation consumers. It owns server
|
|
3993
4016
|
reuse, pending acquisition, verified final release and exact-server recovery.
|
|
4017
|
+
An expired health-probe deadline is reported to the caller without stopping the
|
|
4018
|
+
shared server or its other conversations. Retry the readiness operation after
|
|
4019
|
+
the server responds again. A refused connection still follows the existing
|
|
4020
|
+
server recovery path; a probe timeout alone is not evidence of process failure.
|
|
3994
4021
|
Its retained Main turn and monitor maps also back the original
|
|
3995
4022
|
`interruptTurn(key, target, { threadId, writeRun })` operation. The host selects
|
|
3996
4023
|
the authorized target, supplies a saved identity only when no target exists, and
|
|
@@ -119,6 +119,24 @@ composed application manifest and let resolution identify its actual consumers.
|
|
|
119
119
|
The installed-graph check does not replace application-owned non-JSKIT version
|
|
120
120
|
validation or the original root lockfile checks.
|
|
121
121
|
|
|
122
|
+
### Explicit development sources
|
|
123
|
+
|
|
124
|
+
Hosts composing selected source checkouts can pass `sourcePackages`, an explicit
|
|
125
|
+
package-name-to-directory map, to both `checkProject` and `checkInstalledGraph`.
|
|
126
|
+
The former exempts only these replaced names from published declaration and
|
|
127
|
+
root lock/installed-version comparisons. Pass the corresponding **materialized**
|
|
128
|
+
directories to the latter: it validates package identity and required dependencies,
|
|
129
|
+
rejects resolution outside each selected real path, and still rejects duplicate
|
|
130
|
+
singleton runtimes, including identical-version copies. Selected source versions
|
|
131
|
+
and their consumer ranges need not match the published catalog.
|
|
132
|
+
|
|
133
|
+
Always run both stages. Source preflight alone does not prove a usable graph.
|
|
134
|
+
The host still validates external dependency compatibility and prepared exports.
|
|
135
|
+
Unselected packages retain ordinary checks. This programmatic development option
|
|
136
|
+
does not modify manifests or locks, change release pins, or relax CLI/update/CI
|
|
137
|
+
defaults. A missing selected checkout must fail; it is not permission to choose a
|
|
138
|
+
published package instead.
|
|
139
|
+
|
|
122
140
|
## Enforce the graph in CI
|
|
123
141
|
|
|
124
142
|
Run this after `npm ci`, and include it in the application's normal verifier:
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@ A concrete Fastify, Vue, and JSKIT application foundation for products that do n
|
|
|
15
15
|
|
|
16
16
|
- Id: `app/minimal-foundation`
|
|
17
17
|
- Keywords: `app`, `fastify`, `foundation`, `minimal`, `server`, `vite`, `vue`
|
|
18
|
-
- Owner: `@jskit-ai/agent-docs@0.1.
|
|
18
|
+
- Owner: `@jskit-ai/agent-docs@0.1.219`
|
|
19
19
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/app/minimal-foundation/PATTERN.md)
|
|
20
20
|
- Examples: [example/](../../skills/jskit/references/patterns/app/minimal-foundation/example/)
|
|
21
21
|
- Requires: `@jskit-ai/http-runtime`, `@jskit-ai/kernel`
|
|
@@ -26,7 +26,7 @@ A concrete JSKIT web application foundation with responsive shell navigation, se
|
|
|
26
26
|
|
|
27
27
|
- Id: `app/shell-foundation`
|
|
28
28
|
- Keywords: `app`, `foundation`, `material`, `navigation`, `placements`, `shell`, `vite`, `vue`
|
|
29
|
-
- Owner: `@jskit-ai/agent-docs@0.1.
|
|
29
|
+
- Owner: `@jskit-ai/agent-docs@0.1.219`
|
|
30
30
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/app/shell-foundation/PATTERN.md)
|
|
31
31
|
- Examples: [example/](../../skills/jskit/references/patterns/app/shell-foundation/example/)
|
|
32
32
|
- Requires: `@jskit-ai/http-runtime`, `@jskit-ai/kernel`, `@jskit-ai/shell-web`
|
|
@@ -37,7 +37,7 @@ Configure an assistant runtime for one application surface and expose its chat a
|
|
|
37
37
|
|
|
38
38
|
- Id: `assistant/assistant-surface`
|
|
39
39
|
- Keywords: `ai`, `assistant`, `chat`, `config`, `environment`, `page`, `placement`, `settings`, `surface`
|
|
40
|
-
- Owner: `@jskit-ai/assistant-runtime@0.1.
|
|
40
|
+
- Owner: `@jskit-ai/assistant-runtime@0.1.218`
|
|
41
41
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/assistant/assistant-surface/PATTERN.md)
|
|
42
42
|
- Examples: [example/](../../skills/jskit/references/patterns/assistant/assistant-surface/example/)
|
|
43
43
|
- Requires: `@jskit-ai/assistant-runtime`, `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`, `@jskit-ai/shell-web`
|
|
@@ -323,7 +323,7 @@ Define a server feature through explicit capabilities and first-class actions, a
|
|
|
323
323
|
|
|
324
324
|
- Id: `server/feature-package`
|
|
325
325
|
- Keywords: `actions`, `feature`, `json-rest`, `knex`, `orchestration`, `package`, `provider`, `repository`, `routes`, `server`
|
|
326
|
-
- Owner: `@jskit-ai/agent-docs@0.1.
|
|
326
|
+
- Owner: `@jskit-ai/agent-docs@0.1.219`
|
|
327
327
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/server/feature-package/PATTERN.md)
|
|
328
328
|
- Examples: [example/](../../skills/jskit/references/patterns/server/feature-package/example/)
|
|
329
329
|
- Requires: `@jskit-ai/kernel`
|
|
@@ -278,6 +278,7 @@ Exports
|
|
|
278
278
|
Exports
|
|
279
279
|
- `conversationAgentRunRecord(record, normalizedRunId, { normalizeState = normalizeRunState, isActive = runStateIsActive } = {})`
|
|
280
280
|
- `conversationAgentRunEvent(previous, normalizedRunId, { event = {}, patch = {} } = {}, { now = () => new Date(), normalizeState = normalizeRunState, isTerminal = runStateIsTerminal } = {})`
|
|
281
|
+
- `prepareCopiedConversationAgentRun(run, { at })`
|
|
281
282
|
- `createCodexConversationRunStore({ storage, scope, segmentId, isCurrent, clock = () => new Date() } = {})`
|
|
282
283
|
- `createCodexConversationStore({ storage, scope, segmentId, isCurrent, transcript, streams } = {})`
|
|
283
284
|
Local functions
|
|
@@ -306,7 +307,7 @@ Exports
|
|
|
306
307
|
- `deleteClaudeConversationHistory({ configRoot, workdir, conversationId })`
|
|
307
308
|
- `retireClaudeConversationHistory({ configRoot, binding, beforeDelete, requireIdle, signal })`
|
|
308
309
|
- `claudeHistoryPath({ configRoot, workdir, conversationId })`
|
|
309
|
-
- `claudeMessageBlocks(frame, { includeNested = false } = {})`
|
|
310
|
+
- `claudeMessageBlocks(frame, { includeNested = false, commentary = false } = {})`
|
|
310
311
|
- `readClaudeHistory(options)`
|
|
311
312
|
- `requireClaudeSessionId(id)`
|
|
312
313
|
- `archivedClaudeProjectDirectory(workdir)`
|
|
@@ -837,12 +838,14 @@ Exports
|
|
|
837
838
|
- `finishConversationOperation`
|
|
838
839
|
- `conversationAgentRunRecord`
|
|
839
840
|
- `conversationAgentRunEvent`
|
|
841
|
+
- `prepareCopiedConversationAgentRun`
|
|
840
842
|
- `createFileConversationStorage`
|
|
841
843
|
- `createConversationStreams`
|
|
842
844
|
- `createConversationSystemPrompt`
|
|
843
845
|
- `createConversationRuntime`
|
|
844
846
|
- `normalizeConversationConfiguration`
|
|
845
847
|
- `upgradeConversationRuntimeState`
|
|
848
|
+
- `prepareConversationRuntimeCopy`
|
|
846
849
|
- `createConversationHookBridge`
|
|
847
850
|
- `nativeConversationStoragePolicy`
|
|
848
851
|
- `createConversationProcessIdentity`
|
|
@@ -1036,6 +1039,7 @@ Local functions
|
|
|
1036
1039
|
### `src/server/conversation/providers/scoped.js`
|
|
1037
1040
|
Exports
|
|
1038
1041
|
- `runScopedConversationTurn({ operations, scope = {}, input = {}, context: options = {}, executionProfile: profileSnapshot } = {})`
|
|
1042
|
+
- `projectStoredPersistentConversation(options)`
|
|
1039
1043
|
- `readPersistentConversation(options)`
|
|
1040
1044
|
- `startPersistentConversationTurn(options)`
|
|
1041
1045
|
- `inspectPersistentConversationAdmission(options)`
|
|
@@ -1048,6 +1052,7 @@ Local functions
|
|
|
1048
1052
|
- `qualifyTranscript(turns, record, response, receipts)`
|
|
1049
1053
|
- `publishTranscript({ sessionId, store, receipts, publish }, context, record, turns, response = {})`
|
|
1050
1054
|
- `streamMessage({ sessionId, store, projection, publish }, context, record, event)`
|
|
1055
|
+
- `projectPersistentConversation(options, context, record, response, turns)`
|
|
1051
1056
|
|
|
1052
1057
|
### `src/server/conversation/runtime.js`
|
|
1053
1058
|
Exports
|
|
@@ -1068,6 +1073,7 @@ Exports
|
|
|
1068
1073
|
- `finishConversationRuntimeReplacement(state, { engine, selection, retireNative, pending, value })`
|
|
1069
1074
|
- `createInertCodexConversationBinding({ workdir, configRoot })`
|
|
1070
1075
|
- `upgradeConversationRuntimeState({ metadata, conversationLog, retirement })`
|
|
1076
|
+
- `prepareConversationRuntimeCopy(transaction, { at })`
|
|
1071
1077
|
Local functions
|
|
1072
1078
|
- `object(value)`
|
|
1073
1079
|
- `invalid(message)`
|
|
@@ -63,8 +63,8 @@ Exports
|
|
|
63
63
|
- `CHECK_SCRIPT`
|
|
64
64
|
- `DEPENDENCY_FIELDS`
|
|
65
65
|
- `UPDATE_SCRIPT`
|
|
66
|
-
- `checkProject({ projectRoot = process.cwd(), catalog, additionalManifests = [], checkInstalled = false } = {})`
|
|
67
|
-
- `checkInstalledGraph({ catalog, manifestPaths = [] } = {})`
|
|
66
|
+
- `checkProject({ projectRoot = process.cwd(), catalog, additionalManifests = [], checkInstalled = false, sourcePackages = {} } = {})`
|
|
67
|
+
- `checkInstalledGraph({ catalog, manifestPaths = [], sourcePackages = {} } = {})`
|
|
68
68
|
- `resolveInstalledPackage(consumerDirectory, packageId)`
|
|
69
69
|
- `collectLockInstallations(packageLock = {})`
|
|
70
70
|
- `discoverProjectManifests(projectRoot, additionalManifests = [])`
|
|
@@ -15,7 +15,7 @@ A concrete Fastify, Vue, and JSKIT application foundation for products that do n
|
|
|
15
15
|
|
|
16
16
|
- Id: `app/minimal-foundation`
|
|
17
17
|
- Keywords: `app`, `fastify`, `foundation`, `minimal`, `server`, `vite`, `vue`
|
|
18
|
-
- Owner: `@jskit-ai/agent-docs@0.1.
|
|
18
|
+
- Owner: `@jskit-ai/agent-docs@0.1.219`
|
|
19
19
|
- Read: [PATTERN.md](patterns/app/minimal-foundation/PATTERN.md)
|
|
20
20
|
- Examples: [example/](patterns/app/minimal-foundation/example/)
|
|
21
21
|
- Requires: `@jskit-ai/http-runtime`, `@jskit-ai/kernel`
|
|
@@ -26,7 +26,7 @@ A concrete JSKIT web application foundation with responsive shell navigation, se
|
|
|
26
26
|
|
|
27
27
|
- Id: `app/shell-foundation`
|
|
28
28
|
- Keywords: `app`, `foundation`, `material`, `navigation`, `placements`, `shell`, `vite`, `vue`
|
|
29
|
-
- Owner: `@jskit-ai/agent-docs@0.1.
|
|
29
|
+
- Owner: `@jskit-ai/agent-docs@0.1.219`
|
|
30
30
|
- Read: [PATTERN.md](patterns/app/shell-foundation/PATTERN.md)
|
|
31
31
|
- Examples: [example/](patterns/app/shell-foundation/example/)
|
|
32
32
|
- Requires: `@jskit-ai/http-runtime`, `@jskit-ai/kernel`, `@jskit-ai/shell-web`
|
|
@@ -37,7 +37,7 @@ Configure an assistant runtime for one application surface and expose its chat a
|
|
|
37
37
|
|
|
38
38
|
- Id: `assistant/assistant-surface`
|
|
39
39
|
- Keywords: `ai`, `assistant`, `chat`, `config`, `environment`, `page`, `placement`, `settings`, `surface`
|
|
40
|
-
- Owner: `@jskit-ai/assistant-runtime@0.1.
|
|
40
|
+
- Owner: `@jskit-ai/assistant-runtime@0.1.218`
|
|
41
41
|
- Read: [PATTERN.md](patterns/assistant/assistant-surface/PATTERN.md)
|
|
42
42
|
- Examples: [example/](patterns/assistant/assistant-surface/example/)
|
|
43
43
|
- Requires: `@jskit-ai/assistant-runtime`, `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`, `@jskit-ai/shell-web`
|
|
@@ -323,7 +323,7 @@ Define a server feature through explicit capabilities and first-class actions, a
|
|
|
323
323
|
|
|
324
324
|
- Id: `server/feature-package`
|
|
325
325
|
- Keywords: `actions`, `feature`, `json-rest`, `knex`, `orchestration`, `package`, `provider`, `repository`, `routes`, `server`
|
|
326
|
-
- Owner: `@jskit-ai/agent-docs@0.1.
|
|
326
|
+
- Owner: `@jskit-ai/agent-docs@0.1.219`
|
|
327
327
|
- Read: [PATTERN.md](patterns/server/feature-package/PATTERN.md)
|
|
328
328
|
- Examples: [example/](patterns/server/feature-package/example/)
|
|
329
329
|
- Requires: `@jskit-ai/kernel`
|