@jskit-ai/agent-docs 0.1.198 → 0.1.199
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 +89 -12
- package/guide/agent/app-extras/assistant-voice.md +90 -13
- package/package.json +1 -1
- package/patterns/feature-package/example/booking-engine/package.json +1 -1
- package/patterns/minimal-foundation/example/package.json +4 -4
- package/patterns/shell-foundation/example/package.json +5 -5
- package/patterns/shell-foundation/example/packages/main/package.json +1 -1
- package/reference/autogen/PATTERN_INDEX.md +35 -35
- package/reference/autogen/packages/assistant-core.md +2 -0
- package/reference/autogen/packages/assistant-runtime.md +2 -2
- package/reference/autogen/packages/assistant-voice.md +8 -0
- package/skills/jskit/references/pattern-index.md +35 -35
- package/skills/jskit/references/patterns/app/minimal-foundation/example/package.json +4 -4
- package/skills/jskit/references/patterns/app/shell-foundation/example/package.json +5 -5
- package/skills/jskit/references/patterns/app/shell-foundation/example/packages/main/package.json +1 -1
- package/skills/jskit/references/patterns/auth/supabase-auth/example/package.json +1 -1
- package/skills/jskit/references/patterns/connectors/calendar-cli/example/package.json +4 -4
- package/skills/jskit/references/patterns/crud/json-api-resource-package/example/packages/books/package.json +2 -2
- package/skills/jskit/references/patterns/database/mysql-application/example/package.json +1 -1
- package/skills/jskit/references/patterns/database/postgres-application/example/package.json +1 -1
- package/skills/jskit/references/patterns/realtime/realtime-application/example/package.json +2 -2
- package/skills/jskit/references/patterns/server/feature-package/example/booking-engine/package.json +1 -1
- package/skills/jskit/references/patterns/users/user-administration-server/example/packages/users/package.json +2 -2
- package/skills/jskit/references/patterns/users/user-administration-server/example/packages/users-workspace/package.json +3 -3
|
@@ -355,6 +355,22 @@ different submission replaces that reference; it never selects an older matching
|
|
|
355
355
|
failure from history. Uncertain delivery still requires **Check delivery**.
|
|
356
356
|
Voice sends keep their own authored capture and do not consume the typed draft.
|
|
357
357
|
|
|
358
|
+
`conversation_not_steerable` is a definite pre-admission rejection: its original
|
|
359
|
+
request remains failed, with the same message ID and captured steering intent.
|
|
360
|
+
It does not become uncertain or silently restart as new work. Hosts should use
|
|
361
|
+
this code only when the original turn is absent or finished before dispatch.
|
|
362
|
+
Transport and provider failures without that proof remain uncertain and require
|
|
363
|
+
receipt inspection; an HTTP 409 alone is not proof of rejection.
|
|
364
|
+
|
|
365
|
+
When `draftStorage` restores a page, known failed deliveries remain failed and
|
|
366
|
+
accepted receipts remain accepted. Saved uncertain, pending or unrecognised
|
|
367
|
+
delivery states stay uncertain with the exact original ID, payload and draft;
|
|
368
|
+
closing a page during HTTP is not proof of rejection. Only the transient
|
|
369
|
+
inspection flag is reset so **Check delivery** is reachable again. A matching
|
|
370
|
+
canonical row marked `receipt: false` cannot settle delivery. Unknown inspection
|
|
371
|
+
never retries; an actual accepted receipt is required to acknowledge the request.
|
|
372
|
+
The existing storage shape is unchanged and reads perform no historical repair.
|
|
373
|
+
|
|
358
374
|
With `queueWhileSending: false`, the composer is disabled during admission and
|
|
359
375
|
overlapping typed or retained voice sends return `false` before calling the
|
|
360
376
|
supplied API. A runtime that supports sending while working still permits the
|
|
@@ -363,6 +379,20 @@ of the initial retained conversation composition, so use consistent options for
|
|
|
363
379
|
mirrored readers of the same identity. The default is `clearDraftOn: "dispatch"`
|
|
364
380
|
and the existing queuing behavior for a runtime that advertises steering.
|
|
365
381
|
|
|
382
|
+
Applications may opt into `deferWhileWorking: true` with
|
|
383
|
+
`queueWhileSending: true` for a conversation that cannot steer its active turn.
|
|
384
|
+
Typed and retained voice submissions become pending in the original serial
|
|
385
|
+
queue with their exact message ID, text, attachments and captured data. The
|
|
386
|
+
existing subscription must report ready before each ordinary request reaches
|
|
387
|
+
the API; normal server permissions still apply at dispatch. Show **Send** and
|
|
388
|
+
the existing pending status, not **Steer**, when the runtime cannot steer.
|
|
389
|
+
Native steering and explicit retries keep their captured intent. Stop aborts
|
|
390
|
+
these local pre-dispatch followers before stopping the original turn; actor
|
|
391
|
+
retirement and lost access cannot dispatch them later. This option defaults to
|
|
392
|
+
false and belongs to the initial retained conversation composition. It adds no
|
|
393
|
+
server queue or persisted queue recovery; genuine uncertainty still blocks new
|
|
394
|
+
submissions and requires receipt inspection.
|
|
395
|
+
|
|
366
396
|
Set `draftWhileLoading: true` when people should be able to type before the
|
|
367
397
|
application resolves its conversation ID or while the first read is unavailable.
|
|
368
398
|
This keeps one local input scoped to the real actor, endpoint, surface and
|
|
@@ -547,13 +577,40 @@ control the corresponding transcript presentation. `userMessageFormat` is
|
|
|
547
577
|
For live speech that has not been admitted, supply
|
|
548
578
|
`adapter.conversation.previewMessage = { messageId, text }` (the original
|
|
549
579
|
voice capture's `id` is also accepted). The element displays one pending user
|
|
550
|
-
message after merging canonical and delivery turns. A matching canonical or
|
|
580
|
+
message after merging canonical and delivery turns. A matching admitted canonical or
|
|
551
581
|
delivery message ID suppresses that preview, so an admitted utterance appears
|
|
552
|
-
once.
|
|
582
|
+
once. An exact unadmitted canonical user (`receipt: false`) or known failed local
|
|
583
|
+
delivery may retain the same bubble as an editable preview; its real status and
|
|
584
|
+
error remain unchanged until the host performs an explicit action. The application owns updating or clearing its current capture. Preview
|
|
553
585
|
text never enters saved history, the retained runtime's turns or receipt
|
|
554
586
|
reconciliation; it cannot acknowledge a pending or uncertain send. Keep it out
|
|
555
587
|
of `adapter.conversation.turns`.
|
|
556
588
|
|
|
589
|
+
An optional `previewMessage.actions` supplies `discard(messageId)` and
|
|
590
|
+
`edit(messageId)` with explicit `canDiscard` and `canEdit` booleans. The element
|
|
591
|
+
shows X and pencil actions only on its unsent preview bubble; accepted messages
|
|
592
|
+
never receive them. Add `editing`, `update(messageId, text)`, `send(messageId)`,
|
|
593
|
+
`canSend` and `sending` to reuse the original review textarea inside that same
|
|
594
|
+
bubble and its existing action row for Send. An empty editor remains visible.
|
|
595
|
+
The host owns identity, admission and current-target guards; the typed draft need
|
|
596
|
+
not change. For a known failed voice delivery, explicit Edit may cancel only that
|
|
597
|
+
exact failed local entry through the original delivery owner before authoring a
|
|
598
|
+
fresh request. Plain Retry preserves its original text and intent. The preview
|
|
599
|
+
row replaces the generic failed-action row without concealing the real error.
|
|
600
|
+
`user-message-actions` receives `{ message, turn }` inside the existing user
|
|
601
|
+
bubble; the assistant's `message-actions` slot remains separate.
|
|
602
|
+
|
|
603
|
+
A host with both an existing pending utterance and a newer live capture can
|
|
604
|
+
project `adapter.conversation.previewMessages` as a read-only, identity-deduplicated
|
|
605
|
+
list of those existing descriptors. The singular `previewMessage` contract stays
|
|
606
|
+
available; a supplied list owns the displayed previews. Each row binds only its
|
|
607
|
+
matching descriptor, so the retained failed bubble keeps its actual error and
|
|
608
|
+
recovery controls while newer words stay visible. This list never queues,
|
|
609
|
+
submits or stores transcripts. The host disables the newer capture's Edit while
|
|
610
|
+
its existing pending editor is occupied, preserving its independent Discard.
|
|
611
|
+
Existing runtime presentation options that forward only `previewMessage` do not
|
|
612
|
+
implicitly forward this list; supply it on the host's final adapter conversation.
|
|
613
|
+
|
|
557
614
|
### Message delivery
|
|
558
615
|
|
|
559
616
|
Use `createAssistantMessageDelivery` from `/client/conversation` (or the
|
|
@@ -765,8 +822,10 @@ are `focus()`, `preserveHeightForNextModelValue()` and `queueResizeTextarea()`;
|
|
|
765
822
|
|
|
766
823
|
### Optional avatar
|
|
767
824
|
|
|
768
|
-
Supply the `avatar` slot to add artwork
|
|
769
|
-
|
|
825
|
+
Supply the `avatar` slot to add artwork fixed at the chat's upper right. It stays
|
|
826
|
+
outside the transcript's scroll container; chat text scrolls behind the artwork
|
|
827
|
+
and controls. It creates no side gutter or text wrapping. With no
|
|
828
|
+
slot, the text-only layout has no avatar region or visibility control and requires no
|
|
770
829
|
voice package or speech service. The application supplies artwork and any
|
|
771
830
|
animation; the element does not acquire audio or another conversation.
|
|
772
831
|
|
|
@@ -777,12 +836,30 @@ animation; the element does not acquire audio or another conversation.
|
|
|
777
836
|
```
|
|
778
837
|
|
|
779
838
|
`avatarSize` is a controlled preference: `hidden`, `compact`, `standard`, or
|
|
780
|
-
`large`, requesting 0,
|
|
781
|
-
`compact`. The
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
839
|
+
`large`, requesting 0, 96, 112, or 176 CSS pixels of artwork. Its default is
|
|
840
|
+
`compact`. The anonymous avatar icon at the chat's upper right shows the avatar;
|
|
841
|
+
the expanded round minus icon at the end of the avatar controls row hides it
|
|
842
|
+
(accessible label **Minimise avatar**). The collapsed **Show avatar** icon remains
|
|
843
|
+
at the chat's upper right and remains clickable above the transcript's reload
|
|
844
|
+
control. Both controls emit
|
|
845
|
+
`update:avatarSize`; keep that
|
|
846
|
+
value in the application's existing preference owner if it should be remembered.
|
|
847
|
+
Show restores the last visible size, or Compact if none has been selected.
|
|
848
|
+
There is no size menu. Hosts can still supply any supported controlled preset.
|
|
849
|
+
The overlay is transparent, so transcript text shows behind the supplied artwork
|
|
850
|
+
rather than an opaque panel.
|
|
851
|
+
Changing visibility does not change the input or composer button layout.
|
|
852
|
+
|
|
853
|
+
The optional `avatar-tools` slot receives the same `{ size, height }` scope and
|
|
854
|
+
places application-supplied controls below the artwork, outside the composer,
|
|
855
|
+
immediately before the element's round minimise control in the same compact row.
|
|
856
|
+
Its content stays mounted while Hidden conceals the presentation with `v-show`,
|
|
857
|
+
so a local controls target can retain its identity. Keep required review,
|
|
858
|
+
recovery and active-capture controls visible outside the hidden presentation.
|
|
859
|
+
The always-visible `avatar-control` slot receives `{ size, height }` beside
|
|
860
|
+
Show/Hide. An application can use it for a collapsed active-mic
|
|
861
|
+
indicator or control without placing voice state in the conversation element.
|
|
862
|
+
The element supplies no audio session or control actions.
|
|
786
863
|
|
|
787
864
|
The effective artwork height uses the conversation container's actual remaining
|
|
788
865
|
space after its composer, feedback, support and other controls, leaving a target
|
|
@@ -793,8 +870,8 @@ a preference change; enlarging the container restores the requested size.
|
|
|
793
870
|
The slot receives `{ size, height }`, where `size` is the requested preset and
|
|
794
871
|
`height` is the effective artwork height. Size artwork to fit that region.
|
|
795
872
|
|
|
796
|
-
`AssistantConversationClientElement`
|
|
797
|
-
`v-model:avatar-size`. Its
|
|
873
|
+
`AssistantConversationClientElement` forwards all three avatar slots and
|
|
874
|
+
`v-model:avatar-size`. Its slots also receive the existing retained `runtime`.
|
|
798
875
|
Changing the preference does not acquire a new runtime, change the transcript,
|
|
799
876
|
clear the draft, or deliberately move focus. The transcript retains its normal
|
|
800
877
|
scroll-following behavior; application visibility and focus policies remain
|
|
@@ -116,7 +116,7 @@ navigation action without replacing the retained voice session.
|
|
|
116
116
|
|
|
117
117
|
`VoiceConversation` accepts `adapter`, `session`, `disabled`, and controlled
|
|
118
118
|
`avatarSize`, and emits `update:avatarSize`. `VoiceConversationHost` forwards that
|
|
119
|
-
preference and event
|
|
119
|
+
preference and event; its default is `hidden`. Supply `v-model:avatar-size` from the application's existing
|
|
120
120
|
preference owner. Its avatar slot receives the original visual state plus the
|
|
121
121
|
core slot's requested `size` and effective `height`; temporary clamping preserves
|
|
122
122
|
the preference.
|
|
@@ -125,26 +125,81 @@ the preference.
|
|
|
125
125
|
Set `binding.showAvatar: false` when using `VoiceConversationHost` to omit the
|
|
126
126
|
portrait entirely. Caption-only views then give that space to the existing
|
|
127
127
|
captions and controls; adapter-backed views omit the core avatar slot and its
|
|
128
|
-
|
|
128
|
+
visibility control. This presentation choice does not change the retained session,
|
|
129
129
|
typed draft, capture, review or playback operations.
|
|
130
130
|
|
|
131
131
|
`VoiceConversationControls` reuses the session's original Talk/Pause gesture,
|
|
132
|
-
speaker, Stop speaking, error and recording review operations. `compact`
|
|
133
|
-
48px voice actions
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
132
|
+
speaker, Stop speaking, error and recording review operations. `compact` uses
|
|
133
|
+
48px voice actions. Optional `iconOnly`, default `false`, replaces the Talk label
|
|
134
|
+
with its microphone icon while retaining the full state label in `aria-label`,
|
|
135
|
+
the gesture hint and the original pointer/keyboard handlers. The microphone
|
|
136
|
+
tooltip reads “click or long press to talk”.
|
|
137
|
+
Stop speaking keeps a 48px target. Icon-only Talk, speaker and the compact
|
|
138
|
+
settings cog use 32px visible circles inside transparent targets 40px wide and
|
|
139
|
+
44px tall, with no gap between targets and 8px between visible circles. The
|
|
140
|
+
expanded avatar's minimise button uses the same compact target; collapsed Show
|
|
141
|
+
avatar keeps its 44px square target. All voice controls remain visible while idle. Stop speaking sits beside that pair without changing its position.
|
|
142
|
+
The adapter-backed voice view places these icons below the fixed upper-right
|
|
143
|
+
avatar, outside the composer. Hidden preserves the tools target. Its default
|
|
144
|
+
collapsed presentation shows passive Listening and Speaking icons only while
|
|
145
|
+
those states are active; Show avatar restores the ordinary controls. An idle or
|
|
146
|
+
muted microphone has no Listening indicator. Icon-only presentation omits the
|
|
147
|
+
routine Listening footer; errors, provisional words, review and sound recovery
|
|
148
|
+
remain visible.
|
|
149
|
+
Its `avatar-control` slot forwards the core scope for an always-visible control
|
|
150
|
+
supplied by the application. Hiding is presentation only; it does not pause
|
|
151
|
+
capture, cancel speech or end the session. Compact review keeps its
|
|
152
|
+
independent editable textarea beside the 48px Discard and Send actions, with up
|
|
153
|
+
to two rows and scrolling. Errors keep their full text in small body typography
|
|
154
|
+
to preserve readable history in short containers. Compact Talk keeps one bounded track across Talk, Pause,
|
|
155
|
+
Connecting and held-recording labels. In the labelled compact layout, space for Stop speaking and the normal
|
|
156
|
+
status line remains allocated while idle; an unavailable Stop speaking action
|
|
157
|
+
is absent from keyboard and accessibility navigation. These reservations keep
|
|
158
|
+
capture and playback state changes from moving Talk. Captured words stay
|
|
159
|
+
explicitly Not sent until normal admission;
|
|
160
|
+
review edits do not replace the typed draft. An open hands-free microphone
|
|
161
|
+
does not block typed steering. `session.composerBlocked` gates Send during startup and non-live or
|
|
162
|
+
non-hands-free capture, admission or review. Live hands-free keeps typed Send
|
|
163
|
+
available while spoken requests await admission;
|
|
164
|
+
`session.hasUnsentSpeech` independently protects target switching. The latest
|
|
165
|
+
recognized words remain observable through `binding.onTranscript`, including
|
|
166
|
+
while an earlier request awaits admission. Pause remains usable during that wait
|
|
167
|
+
and does not discard either recording or stop playback. This presentation guard keeps the original adapter's
|
|
139
168
|
actions, attachments and questions. Send retries keep the recording's
|
|
140
169
|
UUID and captured destination; Discard uses the original cleanup operation.
|
|
141
170
|
|
|
171
|
+
`onTranscript(transcript, { canTake })` preserves the original `{ id, text }` or
|
|
172
|
+
null projection and supplies eligibility for unsent-preview controls.
|
|
173
|
+
`session.takeTranscript(messageId, transfer?)` refuses wrong, admitted,
|
|
174
|
+
committing or sending messages. An optional synchronous `transfer(text)` must
|
|
175
|
+
recheck the host's empty typed draft, set it through its original setter, and
|
|
176
|
+
return true; false leaves speech untouched. Taking an active partial uses the
|
|
177
|
+
original capture cancellation and guarded hands-free restart, preserving the
|
|
178
|
+
session and playback. Taking a pending review clears only that review. Hosts
|
|
179
|
+
also gate these controls while their canonical delivery has uncertain admission.
|
|
180
|
+
|
|
142
181
|
For custom compositions, its optional `toolsTarget` is a DOM element belonging
|
|
143
|
-
to the local
|
|
144
|
-
with Vue Teleport, while review and errors
|
|
145
|
-
|
|
182
|
+
to the local host, such as an `avatar-tools` target. One controls instance moves
|
|
183
|
+
its buttons there with Vue Teleport, while review and errors stay in the host's
|
|
184
|
+
visible feedback region. Optional `feedbackTarget` moves those existing
|
|
185
|
+
feedback controls into a local composer element without creating another
|
|
186
|
+
controller or replacing its typed draft. Keep these targets mounted, including while the avatar
|
|
187
|
+
is hidden; there is no global portal or second
|
|
146
188
|
gesture/session owner. With no target, the controls render together in place.
|
|
147
189
|
|
|
190
|
+
`VoiceConversationHost` accepts `presentation: 'dialog' | 'inline'`, defaulting
|
|
191
|
+
to `dialog`. Inline replaces the modal wrapper with an in-flow section using
|
|
192
|
+
the same settings, error, target-switch recovery and conversation slot. It omits
|
|
193
|
+
the separate window title, settings and close-button header. Its settings control
|
|
194
|
+
sits with the avatar tools when using the built-in conversation. It has
|
|
195
|
+
no scrim, activator, focus trap, floating reopen button or modal sizing. Its body
|
|
196
|
+
remains mounted for the retained session even when the controller is minimized.
|
|
197
|
+
The application chooses inline only while its existing conversation host is
|
|
198
|
+
present and chooses dialog for fallback; changing presentation does not end or
|
|
199
|
+
replace the controller/session. The `conversation` slot still receives
|
|
200
|
+
`{ binding, session, disabled }`, and the existing `settings` slot receives
|
|
201
|
+
`{ voice }` in either presentation.
|
|
202
|
+
|
|
148
203
|
The host's optional `conversation` slot receives `{ binding, session, disabled }`
|
|
149
204
|
and replaces its primary body. Settings, target-switch guards, minimizing,
|
|
150
205
|
reopening and controller lifetime stay with the same host. An application can
|
|
@@ -193,7 +248,11 @@ Bindings may supply `defaults.mode` (`push-to-talk` or `hands-free`),
|
|
|
193
248
|
`reviewBeforeSend`. The Talk/Pause microphone icon and speaker toggle show their states. The
|
|
194
249
|
Voice settings cog loads the service's installed voices without recording.
|
|
195
250
|
Pause finalizes the current utterance before muting, including buffered audio,
|
|
196
|
-
and applies the recording's review preference.
|
|
251
|
+
and applies the recording's review preference. If an earlier request is pending,
|
|
252
|
+
Pause finishes the newer recording after that request settles. Resume keeps an
|
|
253
|
+
unfinished recording open or starts a fresh recording after it ends. Talk and
|
|
254
|
+
hold remain available during pending delivery, while transcribing and committing
|
|
255
|
+
retain their original guards.
|
|
197
256
|
The review panel stays hidden during automatic admission; failed admission keeps
|
|
198
257
|
the words and message identity available for review and retry.
|
|
199
258
|
The retained-adapter view scrolls the shared full history while its composer and
|
|
@@ -363,3 +422,21 @@ through an application-authorized route; credentials stay on the server. The
|
|
|
363
422
|
result contains `voices` (IDs, labels and optional languages) and `defaultVoice`,
|
|
364
423
|
matching the WebSocket greeting. Listing voices does not synthesize or load
|
|
365
424
|
additional voice models.
|
|
425
|
+
|
|
426
|
+
`VoiceConversationSettings` from `/client` extracts that same menu for hosts
|
|
427
|
+
which supply their own conversation body. Pass the existing `voice` object and
|
|
428
|
+
use its default slot for application-owned avatar and voice preferences. The
|
|
429
|
+
slot receives `{ voice }`; saved identity, scope, permissions and defaults remain
|
|
430
|
+
the application's responsibility. With no slot, opening connects the existing
|
|
431
|
+
voice object and lists installed voices, without recording. `compact` gives the
|
|
432
|
+
cog the same small visual circle and 48-pixel target as the avatar voice tools.
|
|
433
|
+
Use `VoiceConversationControls`'s `settings-control` slot to put it after the
|
|
434
|
+
microphone and speaker controls. A custom conversation body owns placement of
|
|
435
|
+
its extracted settings menu.
|
|
436
|
+
|
|
437
|
+
When Pause occurs while an earlier message is awaiting admission, the original
|
|
438
|
+
recording retains its words, ID and captured destination. Pause immediately mutes
|
|
439
|
+
input; once that earlier admission settles, the existing capture owner finalizes
|
|
440
|
+
and sends the retained utterance exactly once. Resuming before admission settles
|
|
441
|
+
keeps that recording open. Cancellation retires the requested finish; genuinely
|
|
442
|
+
unknown delivery remains unresolved until the person uses existing recovery.
|
package/package.json
CHANGED
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@local/main": "0.1.0",
|
|
36
36
|
"@fastify/static": "^10.1.3",
|
|
37
|
-
"@jskit-ai/kernel": "0.1.
|
|
37
|
+
"@jskit-ai/kernel": "0.1.227",
|
|
38
38
|
"@tanstack/vue-query": "^5.101.0",
|
|
39
39
|
"fastify": "^5.8.5",
|
|
40
40
|
"json-rest-schema": "^1.0.17",
|
|
@@ -42,13 +42,13 @@
|
|
|
42
42
|
"vue": "^3.5.43",
|
|
43
43
|
"vue-router": "^5.3.1",
|
|
44
44
|
"vuetify": "^4.1.2",
|
|
45
|
-
"@jskit-ai/http-runtime": "0.1.
|
|
45
|
+
"@jskit-ai/http-runtime": "0.1.225",
|
|
46
46
|
"@fastify/fast-json-stringify-compiler": "^5.1.0",
|
|
47
47
|
"@vue/devtools-api": "^8.2.1"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@jskit-ai/config-eslint": "0.1.
|
|
51
|
-
"@jskit-ai/jskit-catalog": "0.1.
|
|
50
|
+
"@jskit-ai/config-eslint": "0.1.224",
|
|
51
|
+
"@jskit-ai/jskit-catalog": "0.1.252",
|
|
52
52
|
"@playwright/test": "1.61.1",
|
|
53
53
|
"@vitejs/plugin-vue": "^6.0.7",
|
|
54
54
|
"eslint": "^10.8.0",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@local/main": "0.1.0",
|
|
36
36
|
"@fastify/static": "^10.1.3",
|
|
37
|
-
"@jskit-ai/kernel": "0.1.
|
|
37
|
+
"@jskit-ai/kernel": "0.1.227",
|
|
38
38
|
"@tanstack/vue-query": "^5.101.0",
|
|
39
39
|
"fastify": "^5.8.5",
|
|
40
40
|
"json-rest-schema": "^1.0.17",
|
|
@@ -42,15 +42,15 @@
|
|
|
42
42
|
"vue": "^3.5.43",
|
|
43
43
|
"vue-router": "^5.3.1",
|
|
44
44
|
"vuetify": "^4.1.2",
|
|
45
|
-
"@jskit-ai/http-runtime": "0.1.
|
|
45
|
+
"@jskit-ai/http-runtime": "0.1.225",
|
|
46
46
|
"@mdi/js": "^7.4.47",
|
|
47
|
-
"@jskit-ai/shell-web": "0.1.
|
|
47
|
+
"@jskit-ai/shell-web": "0.1.231",
|
|
48
48
|
"@fastify/fast-json-stringify-compiler": "^5.1.0",
|
|
49
49
|
"@vue/devtools-api": "^8.2.1"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@jskit-ai/config-eslint": "0.1.
|
|
53
|
-
"@jskit-ai/jskit-catalog": "0.1.
|
|
52
|
+
"@jskit-ai/config-eslint": "0.1.224",
|
|
53
|
+
"@jskit-ai/jskit-catalog": "0.1.252",
|
|
54
54
|
"@playwright/test": "1.61.1",
|
|
55
55
|
"@vitejs/plugin-vue": "^6.0.7",
|
|
56
56
|
"eslint": "^10.8.0",
|
|
@@ -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.199`
|
|
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.199`
|
|
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.198`
|
|
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`
|
|
@@ -48,7 +48,7 @@ Compose JSKIT authentication routes, views, profile controls, and public surface
|
|
|
48
48
|
|
|
49
49
|
- Id: `auth/auth-surface`
|
|
50
50
|
- Keywords: `account`, `auth`, `login`, `logout`, `password`, `placement`, `profile`, `reset`, `surface`
|
|
51
|
-
- Owner: `@jskit-ai/auth-web@0.1.
|
|
51
|
+
- Owner: `@jskit-ai/auth-web@0.1.227`
|
|
52
52
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/auth/auth-surface/PATTERN.md)
|
|
53
53
|
- Examples: [example/](../../skills/jskit/references/patterns/auth/auth-surface/example/)
|
|
54
54
|
- Requires: `@jskit-ai/auth-core`, `@jskit-ai/auth-web`, `@jskit-ai/shell-web`
|
|
@@ -59,7 +59,7 @@ Add Supabase authentication through normal npm composition, explicit environment
|
|
|
59
59
|
|
|
60
60
|
- Id: `auth/supabase-auth`
|
|
61
61
|
- Keywords: `auth`, `authentication`, `oauth`, `sessions`, `supabase`
|
|
62
|
-
- Owner: `@jskit-ai/auth-provider-supabase-core@0.1.
|
|
62
|
+
- Owner: `@jskit-ai/auth-provider-supabase-core@0.1.224`
|
|
63
63
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/auth/supabase-auth/PATTERN.md)
|
|
64
64
|
- Examples: [example/](../../skills/jskit/references/patterns/auth/supabase-auth/example/)
|
|
65
65
|
- Requires: `@jskit-ai/auth-provider-supabase-core`
|
|
@@ -70,7 +70,7 @@ Resolve an administrator environment key or an individual user's grant, then use
|
|
|
70
70
|
|
|
71
71
|
- Id: `connectors/ai-connections`
|
|
72
72
|
- Keywords: `ai`, `api-key`, `big-pickle`, `cli`, `environment`, `free`, `models`, `ownership`, `zai`, `zen`
|
|
73
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
73
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
74
74
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/ai-connections/PATTERN.md)
|
|
75
75
|
- Examples: [example/](../../skills/jskit/references/patterns/connectors/ai-connections/example/)
|
|
76
76
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -81,7 +81,7 @@ Compose provider operations, authorization and encrypted file storage from a CLI
|
|
|
81
81
|
|
|
82
82
|
- Id: `connectors/api-key-connection`
|
|
83
83
|
- Keywords: `api-key`, `clay`, `cli`, `clickhouse`, `connectors`, `dbt`, `files`, `firecrawl`, `granola`, `integrations`, `metrics`, `prestashop`, `resend`, `semantic-layer`, `semrush`, `x-twitter`
|
|
84
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
84
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
85
85
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/api-key-connection/PATTERN.md)
|
|
86
86
|
- Examples: [example/](../../skills/jskit/references/patterns/connectors/api-key-connection/example/)
|
|
87
87
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -92,7 +92,7 @@ Compose token-based MCP discovery and explicitly authorized tool calls using the
|
|
|
92
92
|
|
|
93
93
|
- Id: `connectors/assistant-mcp`
|
|
94
94
|
- Keywords: `assistant`, `cli`, `connectors`, `files`, `integrations`, `mcp`, `n8n`, `sanity`
|
|
95
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
95
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
96
96
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/assistant-mcp/PATTERN.md)
|
|
97
97
|
- Examples: [example/](../../skills/jskit/references/patterns/connectors/assistant-mcp/example/)
|
|
98
98
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -103,7 +103,7 @@ Configure assistant OAuth clients, then compose existing state, encrypted file g
|
|
|
103
103
|
|
|
104
104
|
- Id: `connectors/assistant-mcp-oauth`
|
|
105
105
|
- Keywords: `amplitude`, `assistant`, `atlassian`, `canva`, `cli`, `client metadata`, `confidence`, `connectors`, `figma`, `files`, `granola`, `hex`, `mcp`, `miro`, `oauth`
|
|
106
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
106
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
107
107
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/assistant-mcp-oauth/PATTERN.md)
|
|
108
108
|
- Examples: [example/](../../skills/jskit/references/patterns/connectors/assistant-mcp-oauth/example/)
|
|
109
109
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -114,7 +114,7 @@ Compose signed AWS operations, file configuration and application authorization
|
|
|
114
114
|
|
|
115
115
|
- Id: `connectors/aws-storage-queries`
|
|
116
116
|
- Keywords: `athena`, `aws`, `cli`, `connectors`, `files`, `iam`, `queries`, `s3`, `storage`, `sts`
|
|
117
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
117
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
118
118
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/aws-storage-queries/PATTERN.md)
|
|
119
119
|
- Examples: [example/](../../skills/jskit/references/patterns/connectors/aws-storage-queries/example/)
|
|
120
120
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -125,7 +125,7 @@ Compose reusable connection libraries with portable configuration, application o
|
|
|
125
125
|
|
|
126
126
|
- Id: `connectors/calendar-cli`
|
|
127
127
|
- Keywords: `calendar`, `cli`, `connectors`, `google`, `integrations`, `oauth`, `permissions`
|
|
128
|
-
- Owner: `@jskit-ai/connector-google-calendar@0.1.
|
|
128
|
+
- Owner: `@jskit-ai/connector-google-calendar@0.1.44`
|
|
129
129
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/calendar-cli/PATTERN.md)
|
|
130
130
|
- Examples: [example/](../../skills/jskit/references/patterns/connectors/calendar-cli/example/)
|
|
131
131
|
- Requires: `@jskit-ai/connector-google-calendar`, `@jskit-ai/connectors-core`, `@jskit-ai/database-runtime-mysql`
|
|
@@ -136,7 +136,7 @@ Compose the shared connector runtime for event delivery while leaving workflow c
|
|
|
136
136
|
|
|
137
137
|
- Id: `connectors/event-delivery`
|
|
138
138
|
- Keywords: `cli`, `connectors`, `events`, `files`, `inngest`, `integrations`, `workflows`
|
|
139
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
139
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
140
140
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/event-delivery/PATTERN.md)
|
|
141
141
|
- Examples: [example/](../../skills/jskit/references/patterns/connectors/event-delivery/example/)
|
|
142
142
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -147,7 +147,7 @@ Wire service-account grants, file storage, explicit message actions and public b
|
|
|
147
147
|
|
|
148
148
|
- Id: `connectors/firebase-messaging`
|
|
149
149
|
- Keywords: `cli`, `connectors`, `fcm`, `files`, `firebase`, `integrations`, `jwt`, `notifications`, `push`, `service-account`, `vapid`
|
|
150
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
150
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
151
151
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/firebase-messaging/PATTERN.md)
|
|
152
152
|
- Examples: [example/](../../skills/jskit/references/patterns/connectors/firebase-messaging/example/)
|
|
153
153
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -158,7 +158,7 @@ Compose reviewed Search campaigns with project-owned Google OAuth and portable s
|
|
|
158
158
|
|
|
159
159
|
- Id: `connectors/google-ads-search`
|
|
160
160
|
- Keywords: `ads`, `campaigns`, `cli`, `connectors`, `conversion`, `google`, `search`
|
|
161
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
161
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
162
162
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/google-ads-search/PATTERN.md)
|
|
163
163
|
- Examples: [example/](../../skills/jskit/references/patterns/connectors/google-ads-search/example/)
|
|
164
164
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -169,7 +169,7 @@ Compose provider consent, verification and encrypted file persistence from an ap
|
|
|
169
169
|
|
|
170
170
|
- Id: `connectors/oauth-connection`
|
|
171
171
|
- Keywords: `accounting`, `assistant permissions`, `books`, `cli`, `client credentials`, `connectors`, `consent`, `crm`, `databricks`, `developer token`, `fabric`, `files`, `gaql`, `google ads`, `graphql`, `integrations`, `linkedin`, `microsoft`, `oauth`, `powerpoint`, `salesforce`, `service principal`, `shopify`, `soql`, `staffing`, `tiktok`, `twitch`, `wave`, `word`, `wordpress`, `workday`, `xero`, `zoho`
|
|
172
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
172
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
173
173
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/oauth-connection/PATTERN.md)
|
|
174
174
|
- Examples: [example/](../../skills/jskit/references/patterns/connectors/oauth-connection/example/)
|
|
175
175
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -180,7 +180,7 @@ Compose a sequential catalogue batch and preserve partial success for applicatio
|
|
|
180
180
|
|
|
181
181
|
- Id: `connectors/paddle-catalogue`
|
|
182
182
|
- Keywords: `batch`, `paddle`, `payments`, `prices`, `products`
|
|
183
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
183
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
184
184
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/paddle-catalogue/PATTERN.md)
|
|
185
185
|
- Examples: [example/](../../skills/jskit/references/patterns/connectors/paddle-catalogue/example/)
|
|
186
186
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -191,7 +191,7 @@ Resolve a publishable image key deliberately and use the shared URL library in a
|
|
|
191
191
|
|
|
192
192
|
- Id: `connectors/public-image`
|
|
193
193
|
- Keywords: `cli`, `connectors`, `files`, `images`, `integrations`, `logo-dev`, `public-key`
|
|
194
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
194
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
195
195
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/public-image/PATTERN.md)
|
|
196
196
|
- Examples: [example/](../../skills/jskit/references/patterns/connectors/public-image/example/)
|
|
197
197
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -202,7 +202,7 @@ Compose file configuration, Redshift Data API operations and application query o
|
|
|
202
202
|
|
|
203
203
|
- Id: `connectors/redshift-queries`
|
|
204
204
|
- Keywords: `aws`, `cli`, `connectors`, `files`, `iam`, `provisioned`, `redshift`, `serverless`, `sql`, `warehouse`
|
|
205
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
205
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
206
206
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/redshift-queries/PATTERN.md)
|
|
207
207
|
- Examples: [example/](../../skills/jskit/references/patterns/connectors/redshift-queries/example/)
|
|
208
208
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -213,7 +213,7 @@ Use the shared scanner runtime from a CLI or a host worker with portable configu
|
|
|
213
213
|
|
|
214
214
|
- Id: `connectors/source-scanning`
|
|
215
215
|
- Keywords: `cancellation`, `cli`, `connectors`, `integrations`, `scanning`, `security`, `source`, `wiz`, `worker`
|
|
216
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
216
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
217
217
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/source-scanning/PATTERN.md)
|
|
218
218
|
- Examples: [example/](../../skills/jskit/references/patterns/connectors/source-scanning/example/)
|
|
219
219
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -224,7 +224,7 @@ Add a protected administration surface, settings shell, and semantic navigation
|
|
|
224
224
|
|
|
225
225
|
- Id: `console/console-surface`
|
|
226
226
|
- Keywords: `admin`, `console`, `navigation`, `owner`, `placement`, `settings`, `surface`
|
|
227
|
-
- Owner: `@jskit-ai/console-web@0.1.
|
|
227
|
+
- Owner: `@jskit-ai/console-web@0.1.195`
|
|
228
228
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/console/console-surface/PATTERN.md)
|
|
229
229
|
- Examples: [example/](../../skills/jskit/references/patterns/console/console-surface/example/)
|
|
230
230
|
- Requires: `@jskit-ai/console-core`, `@jskit-ai/console-web`, `@jskit-ai/shell-web`
|
|
@@ -235,7 +235,7 @@ Build a routed CRUD user interface as thin application pages over JSKIT's shared
|
|
|
235
235
|
|
|
236
236
|
- Id: `crud/crud-screen-set`
|
|
237
237
|
- Keywords: `actions`, `add`, `crud`, `delete`, `edit`, `filters`, `list`, `material`, `routes`, `view`, `vue`
|
|
238
|
-
- Owner: `@jskit-ai/http-web@0.1.
|
|
238
|
+
- Owner: `@jskit-ai/http-web@0.1.72`
|
|
239
239
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/crud/crud-screen-set/PATTERN.md)
|
|
240
240
|
- Examples: [example/](../../skills/jskit/references/patterns/crud/crud-screen-set/example/)
|
|
241
241
|
- Requires: `@jskit-ai/http-web`, `@jskit-ai/resource-crud-core`
|
|
@@ -246,7 +246,7 @@ Build a complete application-owned CRUD server package from a migration, resourc
|
|
|
246
246
|
|
|
247
247
|
- Id: `crud/json-api-resource-package`
|
|
248
248
|
- Keywords: `actions`, `crud`, `database`, `json-api`, `migration`, `permissions`, `provider`, `repository`, `routes`, `service`
|
|
249
|
-
- Owner: `@jskit-ai/crud-core@0.1.
|
|
249
|
+
- Owner: `@jskit-ai/crud-core@0.1.238`
|
|
250
250
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/crud/json-api-resource-package/PATTERN.md)
|
|
251
251
|
- Examples: [example/](../../skills/jskit/references/patterns/crud/json-api-resource-package/example/)
|
|
252
252
|
- Requires: `@jskit-ai/crud-core`, `@jskit-ai/resource-crud-core`
|
|
@@ -257,7 +257,7 @@ Define an authenticated application resource whose records belong to the current
|
|
|
257
257
|
|
|
258
258
|
- Id: `crud/resource-contract`
|
|
259
259
|
- Keywords: `authenticated`, `crud`, `database`, `owner-scoped`, `resource`, `user`
|
|
260
|
-
- Owner: `@jskit-ai/resource-crud-core@0.1.
|
|
260
|
+
- Owner: `@jskit-ai/resource-crud-core@0.1.169`
|
|
261
261
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/crud/resource-contract/PATTERN.md)
|
|
262
262
|
- Examples: [example/](../../skills/jskit/references/patterns/crud/resource-contract/example/)
|
|
263
263
|
- Requires: `@jskit-ai/resource-crud-core`
|
|
@@ -268,7 +268,7 @@ Configure a JSKIT application for MySQL with a fixed driver, ordinary environmen
|
|
|
268
268
|
|
|
269
269
|
- Id: `database/mysql-application`
|
|
270
270
|
- Keywords: `database`, `knex`, `mariadb`, `migrations`, `mysql`, `mysql2`
|
|
271
|
-
- Owner: `@jskit-ai/database-runtime-mysql@0.1.
|
|
271
|
+
- Owner: `@jskit-ai/database-runtime-mysql@0.1.225`
|
|
272
272
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/database/mysql-application/PATTERN.md)
|
|
273
273
|
- Examples: [example/](../../skills/jskit/references/patterns/database/mysql-application/example/)
|
|
274
274
|
- Requires: `@jskit-ai/database-runtime-mysql`
|
|
@@ -279,7 +279,7 @@ Configure a JSKIT application for PostgreSQL with a fixed driver, ordinary envir
|
|
|
279
279
|
|
|
280
280
|
- Id: `database/postgres-application`
|
|
281
281
|
- Keywords: `database`, `knex`, `migrations`, `pg`, `postgres`, `postgresql`
|
|
282
|
-
- Owner: `@jskit-ai/database-runtime-postgres@0.1.
|
|
282
|
+
- Owner: `@jskit-ai/database-runtime-postgres@0.1.224`
|
|
283
283
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/database/postgres-application/PATTERN.md)
|
|
284
284
|
- Examples: [example/](../../skills/jskit/references/patterns/database/postgres-application/example/)
|
|
285
285
|
- Requires: `@jskit-ai/database-runtime-postgres`
|
|
@@ -290,7 +290,7 @@ Wrap a JSKIT web application in a Capacitor Android shell using native Capacitor
|
|
|
290
290
|
|
|
291
291
|
- Id: `mobile/android-application`
|
|
292
292
|
- Keywords: `android`, `capacitor`, `device`, `mobile`, `native`, `shell`, `webview`
|
|
293
|
-
- Owner: `@jskit-ai/mobile-capacitor@0.1.
|
|
293
|
+
- Owner: `@jskit-ai/mobile-capacitor@0.1.162`
|
|
294
294
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/mobile/android-application/PATTERN.md)
|
|
295
295
|
- Examples: [example/](../../skills/jskit/references/patterns/mobile/android-application/example/)
|
|
296
296
|
- Requires: `@capacitor/android`, `@capacitor/app`, `@capacitor/cli`, `@jskit-ai/mobile-capacitor`
|
|
@@ -301,7 +301,7 @@ Add JSKIT realtime events with an optional Redis backplane and an explicit shell
|
|
|
301
301
|
|
|
302
302
|
- Id: `realtime/realtime-application`
|
|
303
303
|
- Keywords: `realtime`, `redis`, `socket.io`, `sockets`, `status`, `websocket`
|
|
304
|
-
- Owner: `@jskit-ai/realtime@0.1.
|
|
304
|
+
- Owner: `@jskit-ai/realtime@0.1.224`
|
|
305
305
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/realtime/realtime-application/PATTERN.md)
|
|
306
306
|
- Examples: [example/](../../skills/jskit/references/patterns/realtime/realtime-application/example/)
|
|
307
307
|
- Requires: `@jskit-ai/realtime`, `@jskit-ai/shell-web`
|
|
@@ -312,7 +312,7 @@ Compose application-owned Google Publisher Tag delivery with the generic rewarde
|
|
|
312
312
|
|
|
313
313
|
- Id: `rewards/google-rewarded`
|
|
314
314
|
- Keywords: `ads`, `google`, `publisher tag`, `rewarded`, `unlock`
|
|
315
|
-
- Owner: `@jskit-ai/rewarded-web@0.1.
|
|
315
|
+
- Owner: `@jskit-ai/rewarded-web@0.1.163`
|
|
316
316
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/rewards/google-rewarded/PATTERN.md)
|
|
317
317
|
- Examples: [example/](../../skills/jskit/references/patterns/rewards/google-rewarded/example/)
|
|
318
318
|
- Requires: `@jskit-ai/rewarded-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.199`
|
|
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`
|
|
@@ -334,7 +334,7 @@ Compose the JSKIT responsive shell, semantic placements, settings navigation, an
|
|
|
334
334
|
|
|
335
335
|
- Id: `shell/application-shell`
|
|
336
336
|
- Keywords: `adaptive`, `app`, `layout`, `navigation`, `placement`, `responsive`, `settings`, `shell`
|
|
337
|
-
- Owner: `@jskit-ai/shell-web@0.1.
|
|
337
|
+
- Owner: `@jskit-ai/shell-web@0.1.231`
|
|
338
338
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/shell/application-shell/PATTERN.md)
|
|
339
339
|
- Examples: [example/](../../skills/jskit/references/patterns/shell/application-shell/example/)
|
|
340
340
|
- Requires: `@jskit-ai/kernel`, `@jskit-ai/shell-web`
|
|
@@ -345,7 +345,7 @@ Add product routes and shell extensions through file routing, semantic placement
|
|
|
345
345
|
|
|
346
346
|
- Id: `ui/page-and-placement`
|
|
347
347
|
- Keywords: `component`, `navigation`, `outlet`, `page`, `placement`, `routes`, `section`, `shell`, `subpages`, `vue`
|
|
348
|
-
- Owner: `@jskit-ai/shell-web@0.1.
|
|
348
|
+
- Owner: `@jskit-ai/shell-web@0.1.231`
|
|
349
349
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/ui/page-and-placement/PATTERN.md)
|
|
350
350
|
- Examples: [example/](../../skills/jskit/references/patterns/ui/page-and-placement/example/)
|
|
351
351
|
- Requires: `@jskit-ai/kernel`, `@jskit-ai/shell-web`
|
|
@@ -356,7 +356,7 @@ Compose an account settings route and profile, preference, and notification sect
|
|
|
356
356
|
|
|
357
357
|
- Id: `users/account-settings`
|
|
358
358
|
- Keywords: `account`, `notifications`, `preferences`, `profile`, `settings`, `user`, `vue`
|
|
359
|
-
- Owner: `@jskit-ai/users-web@0.1.
|
|
359
|
+
- Owner: `@jskit-ai/users-web@0.1.245`
|
|
360
360
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/users/account-settings/PATTERN.md)
|
|
361
361
|
- Examples: [example/](../../skills/jskit/references/patterns/users/account-settings/example/)
|
|
362
362
|
- Requires: `@jskit-ai/shell-web`, `@jskit-ai/users-core`, `@jskit-ai/users-web`
|
|
@@ -367,7 +367,7 @@ Expose user administration and workspace-scoped member operations through app-ow
|
|
|
367
367
|
|
|
368
368
|
- Id: `users/user-administration-server`
|
|
369
369
|
- Keywords: `account`, `admin`, `member`, `repository`, `resource`, `routes`, `service`, `user`, `workspace`
|
|
370
|
-
- Owner: `@jskit-ai/users-core@0.1.
|
|
370
|
+
- Owner: `@jskit-ai/users-core@0.1.240`
|
|
371
371
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/users/user-administration-server/PATTERN.md)
|
|
372
372
|
- Examples: [example/](../../skills/jskit/references/patterns/users/user-administration-server/example/)
|
|
373
373
|
- Requires: `@jskit-ai/crud-core`, `@jskit-ai/users-core`
|
|
@@ -378,7 +378,7 @@ Configure roles, workspace access policy, invitations, and app-owned invitation
|
|
|
378
378
|
|
|
379
379
|
- Id: `workspaces/workspace-server`
|
|
380
380
|
- Keywords: `access`, `invite`, `membership`, `multitenancy`, `policy`, `role`, `tenancy`, `workspace`
|
|
381
|
-
- Owner: `@jskit-ai/workspaces-core@0.1.
|
|
381
|
+
- Owner: `@jskit-ai/workspaces-core@0.1.205`
|
|
382
382
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/workspaces/workspace-server/PATTERN.md)
|
|
383
383
|
- Examples: [example/](../../skills/jskit/references/patterns/workspaces/workspace-server/example/)
|
|
384
384
|
- Requires: `@jskit-ai/users-core`, `@jskit-ai/workspaces-core`
|
|
@@ -389,7 +389,7 @@ Compose workspace selection, invitation, member administration, settings, and re
|
|
|
389
389
|
|
|
390
390
|
- Id: `workspaces/workspace-surfaces`
|
|
391
391
|
- Keywords: `admin`, `invite`, `member`, `navigation`, `settings`, `surface`, `switcher`, `workspace`
|
|
392
|
-
- Owner: `@jskit-ai/workspaces-web@0.1.
|
|
392
|
+
- Owner: `@jskit-ai/workspaces-web@0.1.206`
|
|
393
393
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/workspaces/workspace-surfaces/PATTERN.md)
|
|
394
394
|
- Examples: [example/](../../skills/jskit/references/patterns/workspaces/workspace-surfaces/example/)
|
|
395
395
|
- Requires: `@jskit-ai/shell-web`, `@jskit-ai/workspaces-core`, `@jskit-ai/workspaces-web`
|
|
@@ -59,6 +59,7 @@ Exports
|
|
|
59
59
|
Exports
|
|
60
60
|
- None
|
|
61
61
|
Local functions
|
|
62
|
+
- `toggleAvatar()`
|
|
62
63
|
- `measureAvatarSpace()`
|
|
63
64
|
- `observeAvatarSpace()`
|
|
64
65
|
- `resend(id)`
|
|
@@ -124,6 +125,7 @@ Exports
|
|
|
124
125
|
Exports
|
|
125
126
|
- None
|
|
126
127
|
Local functions
|
|
128
|
+
- `previewForTurn(turn)`
|
|
127
129
|
- `displayTime(value = "")`
|
|
128
130
|
- `userMessagePreviewText(value = "")`
|
|
129
131
|
- `displayMessage(message = null, { allowNumberedQuestions = false, preserveParagraphLineBreaks = false, previewUserMessage = false } = {}, cacheKey = "")`
|
|
@@ -44,10 +44,10 @@ Local functions
|
|
|
44
44
|
- `text(value)`
|
|
45
45
|
- `isQuestionConfiguration(value)`
|
|
46
46
|
- `draftAfterAcceptedSubmission(currentDraft = "", submittedDraft = "")`
|
|
47
|
-
- `createConversation(identity, { api, socket, actorKey, placement, readers, queueWhileSending, draftStorage, application, goalReadEnabled })`
|
|
47
|
+
- `createConversation(identity, { api, socket, actorKey, placement, readers, queueWhileSending, deferWhileWorking, draftStorage, application, goalReadEnabled })`
|
|
48
48
|
- `useBoundedTask({ command, endpoint, scope, input, result, onResult }, { active, data, presentation })`
|
|
49
49
|
- `conversationBindingSetup({ socket, boundedTask = null } = {})`
|
|
50
|
-
- `createConversationBinding({ conversationId, endpoint = "", surfaceId = "", hostSurfaceId = "", workspaceSlug, actorKey: suppliedActorKey, api: suppliedApi = null, socket: suppliedSocket = null, active = true, onEvent, clearDraftOn: suppliedClearDraftOn, queueWhileSending, draftWhileLoading = false, draftStorage = null, application = null, boundedTask = null, data, attachments = null, suggestions = null, models = null, questions = null, goal = null, presentation = {} } = {}, setup)`
|
|
50
|
+
- `createConversationBinding({ conversationId, endpoint = "", surfaceId = "", hostSurfaceId = "", workspaceSlug, actorKey: suppliedActorKey, api: suppliedApi = null, socket: suppliedSocket = null, active = true, onEvent, clearDraftOn: suppliedClearDraftOn, queueWhileSending, deferWhileWorking = false, draftWhileLoading = false, draftStorage = null, application = null, boundedTask = null, data, attachments = null, suggestions = null, models = null, questions = null, goal = null, presentation = {} } = {}, setup)`
|
|
51
51
|
|
|
52
52
|
### `src/client/composables/useAssistantRuntime.js`
|
|
53
53
|
Exports
|
|
@@ -43,6 +43,7 @@ Exports
|
|
|
43
43
|
- `ConversationDialog`
|
|
44
44
|
- `VoiceConversation`
|
|
45
45
|
- `VoiceConversationControls`
|
|
46
|
+
- `VoiceConversationSettings`
|
|
46
47
|
- `useVoiceLauncher`
|
|
47
48
|
- `useVoiceAvatar`
|
|
48
49
|
- `VoiceAvatar`
|
|
@@ -80,6 +81,13 @@ Local functions
|
|
|
80
81
|
- `invoke(operation)`
|
|
81
82
|
- `openText()`
|
|
82
83
|
|
|
84
|
+
### `src/client/VoiceConversationSettings.vue`
|
|
85
|
+
Exports
|
|
86
|
+
- None
|
|
87
|
+
Local functions
|
|
88
|
+
- `selectVoice(value)`
|
|
89
|
+
- `openSettings(open)`
|
|
90
|
+
|
|
83
91
|
### `src/client/voiceLauncher.js`
|
|
84
92
|
Exports
|
|
85
93
|
- `useVoiceLauncher({ open, enabled = true, onTap = null, onError = () => {} })`
|
|
@@ -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.199`
|
|
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.199`
|
|
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.198`
|
|
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`
|
|
@@ -48,7 +48,7 @@ Compose JSKIT authentication routes, views, profile controls, and public surface
|
|
|
48
48
|
|
|
49
49
|
- Id: `auth/auth-surface`
|
|
50
50
|
- Keywords: `account`, `auth`, `login`, `logout`, `password`, `placement`, `profile`, `reset`, `surface`
|
|
51
|
-
- Owner: `@jskit-ai/auth-web@0.1.
|
|
51
|
+
- Owner: `@jskit-ai/auth-web@0.1.227`
|
|
52
52
|
- Read: [PATTERN.md](patterns/auth/auth-surface/PATTERN.md)
|
|
53
53
|
- Examples: [example/](patterns/auth/auth-surface/example/)
|
|
54
54
|
- Requires: `@jskit-ai/auth-core`, `@jskit-ai/auth-web`, `@jskit-ai/shell-web`
|
|
@@ -59,7 +59,7 @@ Add Supabase authentication through normal npm composition, explicit environment
|
|
|
59
59
|
|
|
60
60
|
- Id: `auth/supabase-auth`
|
|
61
61
|
- Keywords: `auth`, `authentication`, `oauth`, `sessions`, `supabase`
|
|
62
|
-
- Owner: `@jskit-ai/auth-provider-supabase-core@0.1.
|
|
62
|
+
- Owner: `@jskit-ai/auth-provider-supabase-core@0.1.224`
|
|
63
63
|
- Read: [PATTERN.md](patterns/auth/supabase-auth/PATTERN.md)
|
|
64
64
|
- Examples: [example/](patterns/auth/supabase-auth/example/)
|
|
65
65
|
- Requires: `@jskit-ai/auth-provider-supabase-core`
|
|
@@ -70,7 +70,7 @@ Resolve an administrator environment key or an individual user's grant, then use
|
|
|
70
70
|
|
|
71
71
|
- Id: `connectors/ai-connections`
|
|
72
72
|
- Keywords: `ai`, `api-key`, `big-pickle`, `cli`, `environment`, `free`, `models`, `ownership`, `zai`, `zen`
|
|
73
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
73
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
74
74
|
- Read: [PATTERN.md](patterns/connectors/ai-connections/PATTERN.md)
|
|
75
75
|
- Examples: [example/](patterns/connectors/ai-connections/example/)
|
|
76
76
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -81,7 +81,7 @@ Compose provider operations, authorization and encrypted file storage from a CLI
|
|
|
81
81
|
|
|
82
82
|
- Id: `connectors/api-key-connection`
|
|
83
83
|
- Keywords: `api-key`, `clay`, `cli`, `clickhouse`, `connectors`, `dbt`, `files`, `firecrawl`, `granola`, `integrations`, `metrics`, `prestashop`, `resend`, `semantic-layer`, `semrush`, `x-twitter`
|
|
84
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
84
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
85
85
|
- Read: [PATTERN.md](patterns/connectors/api-key-connection/PATTERN.md)
|
|
86
86
|
- Examples: [example/](patterns/connectors/api-key-connection/example/)
|
|
87
87
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -92,7 +92,7 @@ Compose token-based MCP discovery and explicitly authorized tool calls using the
|
|
|
92
92
|
|
|
93
93
|
- Id: `connectors/assistant-mcp`
|
|
94
94
|
- Keywords: `assistant`, `cli`, `connectors`, `files`, `integrations`, `mcp`, `n8n`, `sanity`
|
|
95
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
95
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
96
96
|
- Read: [PATTERN.md](patterns/connectors/assistant-mcp/PATTERN.md)
|
|
97
97
|
- Examples: [example/](patterns/connectors/assistant-mcp/example/)
|
|
98
98
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -103,7 +103,7 @@ Configure assistant OAuth clients, then compose existing state, encrypted file g
|
|
|
103
103
|
|
|
104
104
|
- Id: `connectors/assistant-mcp-oauth`
|
|
105
105
|
- Keywords: `amplitude`, `assistant`, `atlassian`, `canva`, `cli`, `client metadata`, `confidence`, `connectors`, `figma`, `files`, `granola`, `hex`, `mcp`, `miro`, `oauth`
|
|
106
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
106
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
107
107
|
- Read: [PATTERN.md](patterns/connectors/assistant-mcp-oauth/PATTERN.md)
|
|
108
108
|
- Examples: [example/](patterns/connectors/assistant-mcp-oauth/example/)
|
|
109
109
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -114,7 +114,7 @@ Compose signed AWS operations, file configuration and application authorization
|
|
|
114
114
|
|
|
115
115
|
- Id: `connectors/aws-storage-queries`
|
|
116
116
|
- Keywords: `athena`, `aws`, `cli`, `connectors`, `files`, `iam`, `queries`, `s3`, `storage`, `sts`
|
|
117
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
117
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
118
118
|
- Read: [PATTERN.md](patterns/connectors/aws-storage-queries/PATTERN.md)
|
|
119
119
|
- Examples: [example/](patterns/connectors/aws-storage-queries/example/)
|
|
120
120
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -125,7 +125,7 @@ Compose reusable connection libraries with portable configuration, application o
|
|
|
125
125
|
|
|
126
126
|
- Id: `connectors/calendar-cli`
|
|
127
127
|
- Keywords: `calendar`, `cli`, `connectors`, `google`, `integrations`, `oauth`, `permissions`
|
|
128
|
-
- Owner: `@jskit-ai/connector-google-calendar@0.1.
|
|
128
|
+
- Owner: `@jskit-ai/connector-google-calendar@0.1.44`
|
|
129
129
|
- Read: [PATTERN.md](patterns/connectors/calendar-cli/PATTERN.md)
|
|
130
130
|
- Examples: [example/](patterns/connectors/calendar-cli/example/)
|
|
131
131
|
- Requires: `@jskit-ai/connector-google-calendar`, `@jskit-ai/connectors-core`, `@jskit-ai/database-runtime-mysql`
|
|
@@ -136,7 +136,7 @@ Compose the shared connector runtime for event delivery while leaving workflow c
|
|
|
136
136
|
|
|
137
137
|
- Id: `connectors/event-delivery`
|
|
138
138
|
- Keywords: `cli`, `connectors`, `events`, `files`, `inngest`, `integrations`, `workflows`
|
|
139
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
139
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
140
140
|
- Read: [PATTERN.md](patterns/connectors/event-delivery/PATTERN.md)
|
|
141
141
|
- Examples: [example/](patterns/connectors/event-delivery/example/)
|
|
142
142
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -147,7 +147,7 @@ Wire service-account grants, file storage, explicit message actions and public b
|
|
|
147
147
|
|
|
148
148
|
- Id: `connectors/firebase-messaging`
|
|
149
149
|
- Keywords: `cli`, `connectors`, `fcm`, `files`, `firebase`, `integrations`, `jwt`, `notifications`, `push`, `service-account`, `vapid`
|
|
150
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
150
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
151
151
|
- Read: [PATTERN.md](patterns/connectors/firebase-messaging/PATTERN.md)
|
|
152
152
|
- Examples: [example/](patterns/connectors/firebase-messaging/example/)
|
|
153
153
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -158,7 +158,7 @@ Compose reviewed Search campaigns with project-owned Google OAuth and portable s
|
|
|
158
158
|
|
|
159
159
|
- Id: `connectors/google-ads-search`
|
|
160
160
|
- Keywords: `ads`, `campaigns`, `cli`, `connectors`, `conversion`, `google`, `search`
|
|
161
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
161
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
162
162
|
- Read: [PATTERN.md](patterns/connectors/google-ads-search/PATTERN.md)
|
|
163
163
|
- Examples: [example/](patterns/connectors/google-ads-search/example/)
|
|
164
164
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -169,7 +169,7 @@ Compose provider consent, verification and encrypted file persistence from an ap
|
|
|
169
169
|
|
|
170
170
|
- Id: `connectors/oauth-connection`
|
|
171
171
|
- Keywords: `accounting`, `assistant permissions`, `books`, `cli`, `client credentials`, `connectors`, `consent`, `crm`, `databricks`, `developer token`, `fabric`, `files`, `gaql`, `google ads`, `graphql`, `integrations`, `linkedin`, `microsoft`, `oauth`, `powerpoint`, `salesforce`, `service principal`, `shopify`, `soql`, `staffing`, `tiktok`, `twitch`, `wave`, `word`, `wordpress`, `workday`, `xero`, `zoho`
|
|
172
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
172
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
173
173
|
- Read: [PATTERN.md](patterns/connectors/oauth-connection/PATTERN.md)
|
|
174
174
|
- Examples: [example/](patterns/connectors/oauth-connection/example/)
|
|
175
175
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -180,7 +180,7 @@ Compose a sequential catalogue batch and preserve partial success for applicatio
|
|
|
180
180
|
|
|
181
181
|
- Id: `connectors/paddle-catalogue`
|
|
182
182
|
- Keywords: `batch`, `paddle`, `payments`, `prices`, `products`
|
|
183
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
183
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
184
184
|
- Read: [PATTERN.md](patterns/connectors/paddle-catalogue/PATTERN.md)
|
|
185
185
|
- Examples: [example/](patterns/connectors/paddle-catalogue/example/)
|
|
186
186
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -191,7 +191,7 @@ Resolve a publishable image key deliberately and use the shared URL library in a
|
|
|
191
191
|
|
|
192
192
|
- Id: `connectors/public-image`
|
|
193
193
|
- Keywords: `cli`, `connectors`, `files`, `images`, `integrations`, `logo-dev`, `public-key`
|
|
194
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
194
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
195
195
|
- Read: [PATTERN.md](patterns/connectors/public-image/PATTERN.md)
|
|
196
196
|
- Examples: [example/](patterns/connectors/public-image/example/)
|
|
197
197
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -202,7 +202,7 @@ Compose file configuration, Redshift Data API operations and application query o
|
|
|
202
202
|
|
|
203
203
|
- Id: `connectors/redshift-queries`
|
|
204
204
|
- Keywords: `aws`, `cli`, `connectors`, `files`, `iam`, `provisioned`, `redshift`, `serverless`, `sql`, `warehouse`
|
|
205
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
205
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
206
206
|
- Read: [PATTERN.md](patterns/connectors/redshift-queries/PATTERN.md)
|
|
207
207
|
- Examples: [example/](patterns/connectors/redshift-queries/example/)
|
|
208
208
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -213,7 +213,7 @@ Use the shared scanner runtime from a CLI or a host worker with portable configu
|
|
|
213
213
|
|
|
214
214
|
- Id: `connectors/source-scanning`
|
|
215
215
|
- Keywords: `cancellation`, `cli`, `connectors`, `integrations`, `scanning`, `security`, `source`, `wiz`, `worker`
|
|
216
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
216
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.44`
|
|
217
217
|
- Read: [PATTERN.md](patterns/connectors/source-scanning/PATTERN.md)
|
|
218
218
|
- Examples: [example/](patterns/connectors/source-scanning/example/)
|
|
219
219
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -224,7 +224,7 @@ Add a protected administration surface, settings shell, and semantic navigation
|
|
|
224
224
|
|
|
225
225
|
- Id: `console/console-surface`
|
|
226
226
|
- Keywords: `admin`, `console`, `navigation`, `owner`, `placement`, `settings`, `surface`
|
|
227
|
-
- Owner: `@jskit-ai/console-web@0.1.
|
|
227
|
+
- Owner: `@jskit-ai/console-web@0.1.195`
|
|
228
228
|
- Read: [PATTERN.md](patterns/console/console-surface/PATTERN.md)
|
|
229
229
|
- Examples: [example/](patterns/console/console-surface/example/)
|
|
230
230
|
- Requires: `@jskit-ai/console-core`, `@jskit-ai/console-web`, `@jskit-ai/shell-web`
|
|
@@ -235,7 +235,7 @@ Build a routed CRUD user interface as thin application pages over JSKIT's shared
|
|
|
235
235
|
|
|
236
236
|
- Id: `crud/crud-screen-set`
|
|
237
237
|
- Keywords: `actions`, `add`, `crud`, `delete`, `edit`, `filters`, `list`, `material`, `routes`, `view`, `vue`
|
|
238
|
-
- Owner: `@jskit-ai/http-web@0.1.
|
|
238
|
+
- Owner: `@jskit-ai/http-web@0.1.72`
|
|
239
239
|
- Read: [PATTERN.md](patterns/crud/crud-screen-set/PATTERN.md)
|
|
240
240
|
- Examples: [example/](patterns/crud/crud-screen-set/example/)
|
|
241
241
|
- Requires: `@jskit-ai/http-web`, `@jskit-ai/resource-crud-core`
|
|
@@ -246,7 +246,7 @@ Build a complete application-owned CRUD server package from a migration, resourc
|
|
|
246
246
|
|
|
247
247
|
- Id: `crud/json-api-resource-package`
|
|
248
248
|
- Keywords: `actions`, `crud`, `database`, `json-api`, `migration`, `permissions`, `provider`, `repository`, `routes`, `service`
|
|
249
|
-
- Owner: `@jskit-ai/crud-core@0.1.
|
|
249
|
+
- Owner: `@jskit-ai/crud-core@0.1.238`
|
|
250
250
|
- Read: [PATTERN.md](patterns/crud/json-api-resource-package/PATTERN.md)
|
|
251
251
|
- Examples: [example/](patterns/crud/json-api-resource-package/example/)
|
|
252
252
|
- Requires: `@jskit-ai/crud-core`, `@jskit-ai/resource-crud-core`
|
|
@@ -257,7 +257,7 @@ Define an authenticated application resource whose records belong to the current
|
|
|
257
257
|
|
|
258
258
|
- Id: `crud/resource-contract`
|
|
259
259
|
- Keywords: `authenticated`, `crud`, `database`, `owner-scoped`, `resource`, `user`
|
|
260
|
-
- Owner: `@jskit-ai/resource-crud-core@0.1.
|
|
260
|
+
- Owner: `@jskit-ai/resource-crud-core@0.1.169`
|
|
261
261
|
- Read: [PATTERN.md](patterns/crud/resource-contract/PATTERN.md)
|
|
262
262
|
- Examples: [example/](patterns/crud/resource-contract/example/)
|
|
263
263
|
- Requires: `@jskit-ai/resource-crud-core`
|
|
@@ -268,7 +268,7 @@ Configure a JSKIT application for MySQL with a fixed driver, ordinary environmen
|
|
|
268
268
|
|
|
269
269
|
- Id: `database/mysql-application`
|
|
270
270
|
- Keywords: `database`, `knex`, `mariadb`, `migrations`, `mysql`, `mysql2`
|
|
271
|
-
- Owner: `@jskit-ai/database-runtime-mysql@0.1.
|
|
271
|
+
- Owner: `@jskit-ai/database-runtime-mysql@0.1.225`
|
|
272
272
|
- Read: [PATTERN.md](patterns/database/mysql-application/PATTERN.md)
|
|
273
273
|
- Examples: [example/](patterns/database/mysql-application/example/)
|
|
274
274
|
- Requires: `@jskit-ai/database-runtime-mysql`
|
|
@@ -279,7 +279,7 @@ Configure a JSKIT application for PostgreSQL with a fixed driver, ordinary envir
|
|
|
279
279
|
|
|
280
280
|
- Id: `database/postgres-application`
|
|
281
281
|
- Keywords: `database`, `knex`, `migrations`, `pg`, `postgres`, `postgresql`
|
|
282
|
-
- Owner: `@jskit-ai/database-runtime-postgres@0.1.
|
|
282
|
+
- Owner: `@jskit-ai/database-runtime-postgres@0.1.224`
|
|
283
283
|
- Read: [PATTERN.md](patterns/database/postgres-application/PATTERN.md)
|
|
284
284
|
- Examples: [example/](patterns/database/postgres-application/example/)
|
|
285
285
|
- Requires: `@jskit-ai/database-runtime-postgres`
|
|
@@ -290,7 +290,7 @@ Wrap a JSKIT web application in a Capacitor Android shell using native Capacitor
|
|
|
290
290
|
|
|
291
291
|
- Id: `mobile/android-application`
|
|
292
292
|
- Keywords: `android`, `capacitor`, `device`, `mobile`, `native`, `shell`, `webview`
|
|
293
|
-
- Owner: `@jskit-ai/mobile-capacitor@0.1.
|
|
293
|
+
- Owner: `@jskit-ai/mobile-capacitor@0.1.162`
|
|
294
294
|
- Read: [PATTERN.md](patterns/mobile/android-application/PATTERN.md)
|
|
295
295
|
- Examples: [example/](patterns/mobile/android-application/example/)
|
|
296
296
|
- Requires: `@capacitor/android`, `@capacitor/app`, `@capacitor/cli`, `@jskit-ai/mobile-capacitor`
|
|
@@ -301,7 +301,7 @@ Add JSKIT realtime events with an optional Redis backplane and an explicit shell
|
|
|
301
301
|
|
|
302
302
|
- Id: `realtime/realtime-application`
|
|
303
303
|
- Keywords: `realtime`, `redis`, `socket.io`, `sockets`, `status`, `websocket`
|
|
304
|
-
- Owner: `@jskit-ai/realtime@0.1.
|
|
304
|
+
- Owner: `@jskit-ai/realtime@0.1.224`
|
|
305
305
|
- Read: [PATTERN.md](patterns/realtime/realtime-application/PATTERN.md)
|
|
306
306
|
- Examples: [example/](patterns/realtime/realtime-application/example/)
|
|
307
307
|
- Requires: `@jskit-ai/realtime`, `@jskit-ai/shell-web`
|
|
@@ -312,7 +312,7 @@ Compose application-owned Google Publisher Tag delivery with the generic rewarde
|
|
|
312
312
|
|
|
313
313
|
- Id: `rewards/google-rewarded`
|
|
314
314
|
- Keywords: `ads`, `google`, `publisher tag`, `rewarded`, `unlock`
|
|
315
|
-
- Owner: `@jskit-ai/rewarded-web@0.1.
|
|
315
|
+
- Owner: `@jskit-ai/rewarded-web@0.1.163`
|
|
316
316
|
- Read: [PATTERN.md](patterns/rewards/google-rewarded/PATTERN.md)
|
|
317
317
|
- Examples: [example/](patterns/rewards/google-rewarded/example/)
|
|
318
318
|
- Requires: `@jskit-ai/rewarded-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.199`
|
|
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`
|
|
@@ -334,7 +334,7 @@ Compose the JSKIT responsive shell, semantic placements, settings navigation, an
|
|
|
334
334
|
|
|
335
335
|
- Id: `shell/application-shell`
|
|
336
336
|
- Keywords: `adaptive`, `app`, `layout`, `navigation`, `placement`, `responsive`, `settings`, `shell`
|
|
337
|
-
- Owner: `@jskit-ai/shell-web@0.1.
|
|
337
|
+
- Owner: `@jskit-ai/shell-web@0.1.231`
|
|
338
338
|
- Read: [PATTERN.md](patterns/shell/application-shell/PATTERN.md)
|
|
339
339
|
- Examples: [example/](patterns/shell/application-shell/example/)
|
|
340
340
|
- Requires: `@jskit-ai/kernel`, `@jskit-ai/shell-web`
|
|
@@ -345,7 +345,7 @@ Add product routes and shell extensions through file routing, semantic placement
|
|
|
345
345
|
|
|
346
346
|
- Id: `ui/page-and-placement`
|
|
347
347
|
- Keywords: `component`, `navigation`, `outlet`, `page`, `placement`, `routes`, `section`, `shell`, `subpages`, `vue`
|
|
348
|
-
- Owner: `@jskit-ai/shell-web@0.1.
|
|
348
|
+
- Owner: `@jskit-ai/shell-web@0.1.231`
|
|
349
349
|
- Read: [PATTERN.md](patterns/ui/page-and-placement/PATTERN.md)
|
|
350
350
|
- Examples: [example/](patterns/ui/page-and-placement/example/)
|
|
351
351
|
- Requires: `@jskit-ai/kernel`, `@jskit-ai/shell-web`
|
|
@@ -356,7 +356,7 @@ Compose an account settings route and profile, preference, and notification sect
|
|
|
356
356
|
|
|
357
357
|
- Id: `users/account-settings`
|
|
358
358
|
- Keywords: `account`, `notifications`, `preferences`, `profile`, `settings`, `user`, `vue`
|
|
359
|
-
- Owner: `@jskit-ai/users-web@0.1.
|
|
359
|
+
- Owner: `@jskit-ai/users-web@0.1.245`
|
|
360
360
|
- Read: [PATTERN.md](patterns/users/account-settings/PATTERN.md)
|
|
361
361
|
- Examples: [example/](patterns/users/account-settings/example/)
|
|
362
362
|
- Requires: `@jskit-ai/shell-web`, `@jskit-ai/users-core`, `@jskit-ai/users-web`
|
|
@@ -367,7 +367,7 @@ Expose user administration and workspace-scoped member operations through app-ow
|
|
|
367
367
|
|
|
368
368
|
- Id: `users/user-administration-server`
|
|
369
369
|
- Keywords: `account`, `admin`, `member`, `repository`, `resource`, `routes`, `service`, `user`, `workspace`
|
|
370
|
-
- Owner: `@jskit-ai/users-core@0.1.
|
|
370
|
+
- Owner: `@jskit-ai/users-core@0.1.240`
|
|
371
371
|
- Read: [PATTERN.md](patterns/users/user-administration-server/PATTERN.md)
|
|
372
372
|
- Examples: [example/](patterns/users/user-administration-server/example/)
|
|
373
373
|
- Requires: `@jskit-ai/crud-core`, `@jskit-ai/users-core`
|
|
@@ -378,7 +378,7 @@ Configure roles, workspace access policy, invitations, and app-owned invitation
|
|
|
378
378
|
|
|
379
379
|
- Id: `workspaces/workspace-server`
|
|
380
380
|
- Keywords: `access`, `invite`, `membership`, `multitenancy`, `policy`, `role`, `tenancy`, `workspace`
|
|
381
|
-
- Owner: `@jskit-ai/workspaces-core@0.1.
|
|
381
|
+
- Owner: `@jskit-ai/workspaces-core@0.1.205`
|
|
382
382
|
- Read: [PATTERN.md](patterns/workspaces/workspace-server/PATTERN.md)
|
|
383
383
|
- Examples: [example/](patterns/workspaces/workspace-server/example/)
|
|
384
384
|
- Requires: `@jskit-ai/users-core`, `@jskit-ai/workspaces-core`
|
|
@@ -389,7 +389,7 @@ Compose workspace selection, invitation, member administration, settings, and re
|
|
|
389
389
|
|
|
390
390
|
- Id: `workspaces/workspace-surfaces`
|
|
391
391
|
- Keywords: `admin`, `invite`, `member`, `navigation`, `settings`, `surface`, `switcher`, `workspace`
|
|
392
|
-
- Owner: `@jskit-ai/workspaces-web@0.1.
|
|
392
|
+
- Owner: `@jskit-ai/workspaces-web@0.1.206`
|
|
393
393
|
- Read: [PATTERN.md](patterns/workspaces/workspace-surfaces/PATTERN.md)
|
|
394
394
|
- Examples: [example/](patterns/workspaces/workspace-surfaces/example/)
|
|
395
395
|
- Requires: `@jskit-ai/shell-web`, `@jskit-ai/workspaces-core`, `@jskit-ai/workspaces-web`
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@local/main": "0.1.0",
|
|
36
36
|
"@fastify/static": "^10.1.3",
|
|
37
|
-
"@jskit-ai/kernel": "0.1.
|
|
37
|
+
"@jskit-ai/kernel": "0.1.227",
|
|
38
38
|
"@tanstack/vue-query": "^5.101.0",
|
|
39
39
|
"fastify": "^5.8.5",
|
|
40
40
|
"json-rest-schema": "^1.0.17",
|
|
@@ -42,13 +42,13 @@
|
|
|
42
42
|
"vue": "^3.5.43",
|
|
43
43
|
"vue-router": "^5.3.1",
|
|
44
44
|
"vuetify": "^4.1.2",
|
|
45
|
-
"@jskit-ai/http-runtime": "0.1.
|
|
45
|
+
"@jskit-ai/http-runtime": "0.1.225",
|
|
46
46
|
"@fastify/fast-json-stringify-compiler": "^5.1.0",
|
|
47
47
|
"@vue/devtools-api": "^8.2.1"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@jskit-ai/config-eslint": "0.1.
|
|
51
|
-
"@jskit-ai/jskit-catalog": "0.1.
|
|
50
|
+
"@jskit-ai/config-eslint": "0.1.224",
|
|
51
|
+
"@jskit-ai/jskit-catalog": "0.1.252",
|
|
52
52
|
"@playwright/test": "1.61.1",
|
|
53
53
|
"@vitejs/plugin-vue": "^6.0.7",
|
|
54
54
|
"eslint": "^10.8.0",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@local/main": "0.1.0",
|
|
36
36
|
"@fastify/static": "^10.1.3",
|
|
37
|
-
"@jskit-ai/kernel": "0.1.
|
|
37
|
+
"@jskit-ai/kernel": "0.1.227",
|
|
38
38
|
"@tanstack/vue-query": "^5.101.0",
|
|
39
39
|
"fastify": "^5.8.5",
|
|
40
40
|
"json-rest-schema": "^1.0.17",
|
|
@@ -42,15 +42,15 @@
|
|
|
42
42
|
"vue": "^3.5.43",
|
|
43
43
|
"vue-router": "^5.3.1",
|
|
44
44
|
"vuetify": "^4.1.2",
|
|
45
|
-
"@jskit-ai/http-runtime": "0.1.
|
|
45
|
+
"@jskit-ai/http-runtime": "0.1.225",
|
|
46
46
|
"@mdi/js": "^7.4.47",
|
|
47
|
-
"@jskit-ai/shell-web": "0.1.
|
|
47
|
+
"@jskit-ai/shell-web": "0.1.231",
|
|
48
48
|
"@fastify/fast-json-stringify-compiler": "^5.1.0",
|
|
49
49
|
"@vue/devtools-api": "^8.2.1"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@jskit-ai/config-eslint": "0.1.
|
|
53
|
-
"@jskit-ai/jskit-catalog": "0.1.
|
|
52
|
+
"@jskit-ai/config-eslint": "0.1.224",
|
|
53
|
+
"@jskit-ai/jskit-catalog": "0.1.252",
|
|
54
54
|
"@playwright/test": "1.61.1",
|
|
55
55
|
"@vitejs/plugin-vue": "^6.0.7",
|
|
56
56
|
"eslint": "^10.8.0",
|
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
"db:migrate:status": "knex --knexfile ./knexfile.js migrate:list"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@jskit-ai/connectors-core": "0.1.
|
|
11
|
-
"@jskit-ai/connector-google-calendar": "0.1.
|
|
12
|
-
"@jskit-ai/database-runtime": "0.1.
|
|
13
|
-
"@jskit-ai/database-runtime-mysql": "0.1.
|
|
10
|
+
"@jskit-ai/connectors-core": "0.1.44",
|
|
11
|
+
"@jskit-ai/connector-google-calendar": "0.1.44",
|
|
12
|
+
"@jskit-ai/database-runtime": "0.1.227",
|
|
13
|
+
"@jskit-ai/database-runtime-mysql": "0.1.225",
|
|
14
14
|
"knex": "^3.1.0"
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
"./shared": "./src/shared/index.js"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@jskit-ai/crud-core": "0.1.
|
|
12
|
-
"@jskit-ai/resource-crud-core": "0.1.
|
|
11
|
+
"@jskit-ai/crud-core": "0.1.238",
|
|
12
|
+
"@jskit-ai/resource-crud-core": "0.1.169"
|
|
13
13
|
},
|
|
14
14
|
"jskit": {
|
|
15
15
|
"kind": "runtime",
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
"./shared": "./src/shared/index.js"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@jskit-ai/crud-core": "0.1.
|
|
13
|
-
"@jskit-ai/resource-crud-core": "0.1.
|
|
12
|
+
"@jskit-ai/crud-core": "0.1.238",
|
|
13
|
+
"@jskit-ai/resource-crud-core": "0.1.169"
|
|
14
14
|
},
|
|
15
15
|
"jskit": {
|
|
16
16
|
"kind": "runtime",
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
"./shared": "./src/shared/index.js"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@jskit-ai/crud-core": "0.1.
|
|
13
|
-
"@jskit-ai/resource-crud-core": "0.1.
|
|
14
|
-
"@jskit-ai/workspaces-core": "0.1.
|
|
12
|
+
"@jskit-ai/crud-core": "0.1.238",
|
|
13
|
+
"@jskit-ai/resource-crud-core": "0.1.169",
|
|
14
|
+
"@jskit-ai/workspaces-core": "0.1.205"
|
|
15
15
|
},
|
|
16
16
|
"jskit": {
|
|
17
17
|
"kind": "runtime",
|