@kvman/kvcoder 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +9 -0
- package/dist/api.d.ts +386 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +2 -0
- package/dist/api.js.map +1 -0
- package/dist/artifacts/artifact-format.d.ts +9 -0
- package/dist/artifacts/artifact-format.d.ts.map +1 -0
- package/dist/artifacts/artifact-format.js +32 -0
- package/dist/artifacts/artifact-format.js.map +1 -0
- package/dist/artifacts/artifact-records.d.ts +12 -0
- package/dist/artifacts/artifact-records.d.ts.map +1 -0
- package/dist/artifacts/artifact-records.js +17 -0
- package/dist/artifacts/artifact-records.js.map +1 -0
- package/dist/artifacts/register-artifacts.d.ts +3 -0
- package/dist/artifacts/register-artifacts.d.ts.map +1 -0
- package/dist/artifacts/register-artifacts.js +37 -0
- package/dist/artifacts/register-artifacts.js.map +1 -0
- package/dist/calls/binary-checks.d.ts +8 -0
- package/dist/calls/binary-checks.d.ts.map +1 -0
- package/dist/calls/binary-checks.js +12 -0
- package/dist/calls/binary-checks.js.map +1 -0
- package/dist/calls/connector-help.d.ts +3 -0
- package/dist/calls/connector-help.d.ts.map +1 -0
- package/dist/calls/connector-help.js +73 -0
- package/dist/calls/connector-help.js.map +1 -0
- package/dist/calls/help-text.d.ts +19 -0
- package/dist/calls/help-text.d.ts.map +1 -0
- package/dist/calls/help-text.js +22 -0
- package/dist/calls/help-text.js.map +1 -0
- package/dist/calls/line-run.d.ts +33 -0
- package/dist/calls/line-run.d.ts.map +1 -0
- package/dist/calls/line-run.js +56 -0
- package/dist/calls/line-run.js.map +1 -0
- package/dist/calls/run-shell.d.ts +12 -0
- package/dist/calls/run-shell.d.ts.map +1 -0
- package/dist/calls/run-shell.js +88 -0
- package/dist/calls/run-shell.js.map +1 -0
- package/dist/calls/run-tool.d.ts +49 -0
- package/dist/calls/run-tool.d.ts.map +1 -0
- package/dist/calls/run-tool.js +66 -0
- package/dist/calls/run-tool.js.map +1 -0
- package/dist/calls/shell-command.d.ts +25 -0
- package/dist/calls/shell-command.d.ts.map +1 -0
- package/dist/calls/shell-command.js +31 -0
- package/dist/calls/shell-command.js.map +1 -0
- package/dist/calls/shell-program.d.ts +5 -0
- package/dist/calls/shell-program.d.ts.map +1 -0
- package/dist/calls/shell-program.js +8 -0
- package/dist/calls/shell-program.js.map +1 -0
- package/dist/connector-call.d.ts +66 -0
- package/dist/connector-call.d.ts.map +1 -0
- package/dist/connector-call.js +133 -0
- package/dist/connector-call.js.map +1 -0
- package/dist/connectors/artifact.d.ts +51 -0
- package/dist/connectors/artifact.d.ts.map +1 -0
- package/dist/connectors/artifact.js +101 -0
- package/dist/connectors/artifact.js.map +1 -0
- package/dist/connectors/ask.d.ts +58 -0
- package/dist/connectors/ask.d.ts.map +1 -0
- package/dist/connectors/ask.js +85 -0
- package/dist/connectors/ask.js.map +1 -0
- package/dist/connectors/background.d.ts +29 -0
- package/dist/connectors/background.d.ts.map +1 -0
- package/dist/connectors/background.js +56 -0
- package/dist/connectors/background.js.map +1 -0
- package/dist/connectors/binary.d.ts +5 -0
- package/dist/connectors/binary.d.ts.map +1 -0
- package/dist/connectors/binary.js +27 -0
- package/dist/connectors/binary.js.map +1 -0
- package/dist/connectors/builtin-connectors.d.ts +217 -0
- package/dist/connectors/builtin-connectors.d.ts.map +1 -0
- package/dist/connectors/builtin-connectors.js +49 -0
- package/dist/connectors/builtin-connectors.js.map +1 -0
- package/dist/connectors/connector-command.d.ts +26 -0
- package/dist/connectors/connector-command.d.ts.map +1 -0
- package/dist/connectors/connector-command.js +17 -0
- package/dist/connectors/connector-command.js.map +1 -0
- package/dist/connectors/delegate.d.ts +32 -0
- package/dist/connectors/delegate.d.ts.map +1 -0
- package/dist/connectors/delegate.js +82 -0
- package/dist/connectors/delegate.js.map +1 -0
- package/dist/connectors/fs.d.ts +60 -0
- package/dist/connectors/fs.d.ts.map +1 -0
- package/dist/connectors/fs.js +132 -0
- package/dist/connectors/fs.js.map +1 -0
- package/dist/connectors/mcp.d.ts +37 -0
- package/dist/connectors/mcp.d.ts.map +1 -0
- package/dist/connectors/mcp.js +69 -0
- package/dist/connectors/mcp.js.map +1 -0
- package/dist/connectors/payload-fields.d.ts +9 -0
- package/dist/connectors/payload-fields.d.ts.map +1 -0
- package/dist/connectors/payload-fields.js +13 -0
- package/dist/connectors/payload-fields.js.map +1 -0
- package/dist/connectors/shell.d.ts +19 -0
- package/dist/connectors/shell.d.ts.map +1 -0
- package/dist/connectors/shell.js +22 -0
- package/dist/connectors/shell.js.map +1 -0
- package/dist/delay.d.ts +3 -0
- package/dist/delay.d.ts.map +1 -0
- package/dist/delay.js +11 -0
- package/dist/delay.js.map +1 -0
- package/dist/delegate/approved-run.d.ts +13 -0
- package/dist/delegate/approved-run.d.ts.map +1 -0
- package/dist/delegate/approved-run.js +54 -0
- package/dist/delegate/approved-run.js.map +1 -0
- package/dist/delegate/programs.d.ts +32 -0
- package/dist/delegate/programs.d.ts.map +1 -0
- package/dist/delegate/programs.js +67 -0
- package/dist/delegate/programs.js.map +1 -0
- package/dist/delegate/register-worker-run.d.ts +9 -0
- package/dist/delegate/register-worker-run.d.ts.map +1 -0
- package/dist/delegate/register-worker-run.js +70 -0
- package/dist/delegate/register-worker-run.js.map +1 -0
- package/dist/delegate/run-program.d.ts +9 -0
- package/dist/delegate/run-program.d.ts.map +1 -0
- package/dist/delegate/run-program.js +59 -0
- package/dist/delegate/run-program.js.map +1 -0
- package/dist/delegate/runs.d.ts +27 -0
- package/dist/delegate/runs.d.ts.map +1 -0
- package/dist/delegate/runs.js +68 -0
- package/dist/delegate/runs.js.map +1 -0
- package/dist/delegate/workers.d.ts +266 -0
- package/dist/delegate/workers.d.ts.map +1 -0
- package/dist/delegate/workers.js +80 -0
- package/dist/delegate/workers.js.map +1 -0
- package/dist/docs.d.ts +14 -0
- package/dist/docs.d.ts.map +1 -0
- package/dist/docs.js +59 -0
- package/dist/docs.js.map +1 -0
- package/dist/files/edit-text.d.ts +13 -0
- package/dist/files/edit-text.d.ts.map +1 -0
- package/dist/files/edit-text.js +46 -0
- package/dist/files/edit-text.js.map +1 -0
- package/dist/files/file-queue.d.ts +3 -0
- package/dist/files/file-queue.d.ts.map +1 -0
- package/dist/files/file-queue.js +17 -0
- package/dist/files/file-queue.js.map +1 -0
- package/dist/files/list-entries.d.ts +14 -0
- package/dist/files/list-entries.d.ts.map +1 -0
- package/dist/files/list-entries.js +40 -0
- package/dist/files/list-entries.js.map +1 -0
- package/dist/files/read-file.d.ts +17 -0
- package/dist/files/read-file.d.ts.map +1 -0
- package/dist/files/read-file.js +53 -0
- package/dist/files/read-file.js.map +1 -0
- package/dist/files/search-text.d.ts +14 -0
- package/dist/files/search-text.d.ts.map +1 -0
- package/dist/files/search-text.js +62 -0
- package/dist/files/search-text.js.map +1 -0
- package/dist/files/workspace-path.d.ts +5 -0
- package/dist/files/workspace-path.d.ts.map +1 -0
- package/dist/files/workspace-path.js +37 -0
- package/dist/files/workspace-path.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +68 -0
- package/dist/index.js.map +1 -0
- package/dist/jobs/job-rows.d.ts +24 -0
- package/dist/jobs/job-rows.d.ts.map +1 -0
- package/dist/jobs/job-rows.js +74 -0
- package/dist/jobs/job-rows.js.map +1 -0
- package/dist/jobs/process-handlers.d.ts +8 -0
- package/dist/jobs/process-handlers.d.ts.map +1 -0
- package/dist/jobs/process-handlers.js +43 -0
- package/dist/jobs/process-handlers.js.map +1 -0
- package/dist/jobs/process-records.d.ts +15 -0
- package/dist/jobs/process-records.d.ts.map +1 -0
- package/dist/jobs/process-records.js +30 -0
- package/dist/jobs/process-records.js.map +1 -0
- package/dist/jobs/process-report.d.ts +8 -0
- package/dist/jobs/process-report.d.ts.map +1 -0
- package/dist/jobs/process-report.js +44 -0
- package/dist/jobs/process-report.js.map +1 -0
- package/dist/jobs/process-run.d.ts +26 -0
- package/dist/jobs/process-run.d.ts.map +1 -0
- package/dist/jobs/process-run.js +70 -0
- package/dist/jobs/process-run.js.map +1 -0
- package/dist/jobs/process-text.d.ts +5 -0
- package/dist/jobs/process-text.d.ts.map +1 -0
- package/dist/jobs/process-text.js +11 -0
- package/dist/jobs/process-text.js.map +1 -0
- package/dist/jobs/register-jobs.d.ts +3 -0
- package/dist/jobs/register-jobs.d.ts.map +1 -0
- package/dist/jobs/register-jobs.js +61 -0
- package/dist/jobs/register-jobs.js.map +1 -0
- package/dist/mcp/command-transport.d.ts +17 -0
- package/dist/mcp/command-transport.d.ts.map +1 -0
- package/dist/mcp/command-transport.js +60 -0
- package/dist/mcp/command-transport.js.map +1 -0
- package/dist/mcp/connect.d.ts +12 -0
- package/dist/mcp/connect.d.ts.map +1 -0
- package/dist/mcp/connect.js +54 -0
- package/dist/mcp/connect.js.map +1 -0
- package/dist/mcp/oauth-provider.d.ts +25 -0
- package/dist/mcp/oauth-provider.d.ts.map +1 -0
- package/dist/mcp/oauth-provider.js +59 -0
- package/dist/mcp/oauth-provider.js.map +1 -0
- package/dist/mcp/register-mcp.d.ts +3 -0
- package/dist/mcp/register-mcp.d.ts.map +1 -0
- package/dist/mcp/register-mcp.js +61 -0
- package/dist/mcp/register-mcp.js.map +1 -0
- package/dist/mcp/secrets.d.ts +7 -0
- package/dist/mcp/secrets.d.ts.map +1 -0
- package/dist/mcp/secrets.js +20 -0
- package/dist/mcp/secrets.js.map +1 -0
- package/dist/mcp/servers.d.ts +33 -0
- package/dist/mcp/servers.d.ts.map +1 -0
- package/dist/mcp/servers.js +31 -0
- package/dist/mcp/servers.js.map +1 -0
- package/dist/mcp/sign-in-record.d.ts +10 -0
- package/dist/mcp/sign-in-record.d.ts.map +1 -0
- package/dist/mcp/sign-in-record.js +4 -0
- package/dist/mcp/sign-in-record.js.map +1 -0
- package/dist/mcp/sign-in.d.ts +12 -0
- package/dist/mcp/sign-in.d.ts.map +1 -0
- package/dist/mcp/sign-in.js +75 -0
- package/dist/mcp/sign-in.js.map +1 -0
- package/dist/mcp/tools.d.ts +19 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +31 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/messages/attachments.d.ts +8 -0
- package/dist/messages/attachments.d.ts.map +1 -0
- package/dist/messages/attachments.js +48 -0
- package/dist/messages/attachments.js.map +1 -0
- package/dist/messages/receive-message.d.ts +15 -0
- package/dist/messages/receive-message.d.ts.map +1 -0
- package/dist/messages/receive-message.js +60 -0
- package/dist/messages/receive-message.js.map +1 -0
- package/dist/messages/register-messages.d.ts +3 -0
- package/dist/messages/register-messages.d.ts.map +1 -0
- package/dist/messages/register-messages.js +63 -0
- package/dist/messages/register-messages.js.map +1 -0
- package/dist/problems.d.ts +8 -0
- package/dist/problems.d.ts.map +1 -0
- package/dist/problems.js +14 -0
- package/dist/problems.js.map +1 -0
- package/dist/prompt/build-prompt.d.ts +29 -0
- package/dist/prompt/build-prompt.d.ts.map +1 -0
- package/dist/prompt/build-prompt.js +60 -0
- package/dist/prompt/build-prompt.js.map +1 -0
- package/dist/prompt/register-prompt.d.ts +3 -0
- package/dist/prompt/register-prompt.d.ts.map +1 -0
- package/dist/prompt/register-prompt.js +29 -0
- package/dist/prompt/register-prompt.js.map +1 -0
- package/dist/prompt/session-prompt.d.ts +24 -0
- package/dist/prompt/session-prompt.d.ts.map +1 -0
- package/dist/prompt/session-prompt.js +50 -0
- package/dist/prompt/session-prompt.js.map +1 -0
- package/dist/prompt/working-method.d.ts +7 -0
- package/dist/prompt/working-method.d.ts.map +1 -0
- package/dist/prompt/working-method.js +51 -0
- package/dist/prompt/working-method.js.map +1 -0
- package/dist/register-settings.d.ts +142 -0
- package/dist/register-settings.d.ts.map +1 -0
- package/dist/register-settings.js +51 -0
- package/dist/register-settings.js.map +1 -0
- package/dist/registry/loaded.d.ts +32 -0
- package/dist/registry/loaded.d.ts.map +1 -0
- package/dist/registry/loaded.js +41 -0
- package/dist/registry/loaded.js.map +1 -0
- package/dist/registry/register-connectors.d.ts +32 -0
- package/dist/registry/register-connectors.d.ts.map +1 -0
- package/dist/registry/register-connectors.js +126 -0
- package/dist/registry/register-connectors.js.map +1 -0
- package/dist/registry/register-sections.d.ts +18 -0
- package/dist/registry/register-sections.d.ts.map +1 -0
- package/dist/registry/register-sections.js +99 -0
- package/dist/registry/register-sections.js.map +1 -0
- package/dist/registry/session-points.d.ts +11 -0
- package/dist/registry/session-points.d.ts.map +1 -0
- package/dist/registry/session-points.js +89 -0
- package/dist/registry/session-points.js.map +1 -0
- package/dist/result-text.d.ts +11 -0
- package/dist/result-text.d.ts.map +1 -0
- package/dist/result-text.js +21 -0
- package/dist/result-text.js.map +1 -0
- package/dist/schemas/records.d.ts +357 -0
- package/dist/schemas/records.d.ts.map +1 -0
- package/dist/schemas/records.js +159 -0
- package/dist/schemas/records.js.map +1 -0
- package/dist/schemas/registry.d.ts +160 -0
- package/dist/schemas/registry.d.ts.map +1 -0
- package/dist/schemas/registry.js +37 -0
- package/dist/schemas/registry.js.map +1 -0
- package/dist/sessions/new-session.d.ts +6 -0
- package/dist/sessions/new-session.d.ts.map +1 -0
- package/dist/sessions/new-session.js +52 -0
- package/dist/sessions/new-session.js.map +1 -0
- package/dist/sessions/register-fork-export.d.ts +5 -0
- package/dist/sessions/register-fork-export.d.ts.map +1 -0
- package/dist/sessions/register-fork-export.js +62 -0
- package/dist/sessions/register-fork-export.js.map +1 -0
- package/dist/sessions/register-lifecycle.d.ts +3 -0
- package/dist/sessions/register-lifecycle.d.ts.map +1 -0
- package/dist/sessions/register-lifecycle.js +59 -0
- package/dist/sessions/register-lifecycle.js.map +1 -0
- package/dist/sessions/register-sessions.d.ts +3 -0
- package/dist/sessions/register-sessions.d.ts.map +1 -0
- package/dist/sessions/register-sessions.js +93 -0
- package/dist/sessions/register-sessions.js.map +1 -0
- package/dist/sessions/session-lookup.d.ts +10 -0
- package/dist/sessions/session-lookup.d.ts.map +1 -0
- package/dist/sessions/session-lookup.js +25 -0
- package/dist/sessions/session-lookup.js.map +1 -0
- package/dist/sessions/session-view.d.ts +118 -0
- package/dist/sessions/session-view.d.ts.map +1 -0
- package/dist/sessions/session-view.js +105 -0
- package/dist/sessions/session-view.js.map +1 -0
- package/dist/store/collections.d.ts +471 -0
- package/dist/store/collections.d.ts.map +1 -0
- package/dist/store/collections.js +46 -0
- package/dist/store/collections.js.map +1 -0
- package/dist/turns/background.d.ts +6 -0
- package/dist/turns/background.d.ts.map +1 -0
- package/dist/turns/background.js +27 -0
- package/dist/turns/background.js.map +1 -0
- package/dist/turns/cancel-turn.d.ts +3 -0
- package/dist/turns/cancel-turn.d.ts.map +1 -0
- package/dist/turns/cancel-turn.js +31 -0
- package/dist/turns/cancel-turn.js.map +1 -0
- package/dist/turns/compaction.d.ts +12 -0
- package/dist/turns/compaction.d.ts.map +1 -0
- package/dist/turns/compaction.js +55 -0
- package/dist/turns/compaction.js.map +1 -0
- package/dist/turns/end-turn.d.ts +15 -0
- package/dist/turns/end-turn.d.ts.map +1 -0
- package/dist/turns/end-turn.js +67 -0
- package/dist/turns/end-turn.js.map +1 -0
- package/dist/turns/history.d.ts +28 -0
- package/dist/turns/history.d.ts.map +1 -0
- package/dist/turns/history.js +47 -0
- package/dist/turns/history.js.map +1 -0
- package/dist/turns/lost-reply.d.ts +31 -0
- package/dist/turns/lost-reply.d.ts.map +1 -0
- package/dist/turns/lost-reply.js +43 -0
- package/dist/turns/lost-reply.js.map +1 -0
- package/dist/turns/message-blocks.d.ts +9 -0
- package/dist/turns/message-blocks.d.ts.map +1 -0
- package/dist/turns/message-blocks.js +25 -0
- package/dist/turns/message-blocks.js.map +1 -0
- package/dist/turns/model-context.d.ts +81 -0
- package/dist/turns/model-context.d.ts.map +1 -0
- package/dist/turns/model-context.js +46 -0
- package/dist/turns/model-context.js.map +1 -0
- package/dist/turns/model-info.d.ts +7 -0
- package/dist/turns/model-info.d.ts.map +1 -0
- package/dist/turns/model-info.js +10 -0
- package/dist/turns/model-info.js.map +1 -0
- package/dist/turns/model-retry.d.ts +3 -0
- package/dist/turns/model-retry.d.ts.map +1 -0
- package/dist/turns/model-retry.js +23 -0
- package/dist/turns/model-retry.js.map +1 -0
- package/dist/turns/register-interruptions.d.ts +3 -0
- package/dist/turns/register-interruptions.d.ts.map +1 -0
- package/dist/turns/register-interruptions.js +31 -0
- package/dist/turns/register-interruptions.js.map +1 -0
- package/dist/turns/register-turns.d.ts +3 -0
- package/dist/turns/register-turns.d.ts.map +1 -0
- package/dist/turns/register-turns.js +66 -0
- package/dist/turns/register-turns.js.map +1 -0
- package/dist/turns/resolve.d.ts +7 -0
- package/dist/turns/resolve.d.ts.map +1 -0
- package/dist/turns/resolve.js +29 -0
- package/dist/turns/resolve.js.map +1 -0
- package/dist/turns/run-calls.d.ts +34 -0
- package/dist/turns/run-calls.d.ts.map +1 -0
- package/dist/turns/run-calls.js +99 -0
- package/dist/turns/run-calls.js.map +1 -0
- package/dist/turns/run-command.d.ts +26 -0
- package/dist/turns/run-command.d.ts.map +1 -0
- package/dist/turns/run-command.js +118 -0
- package/dist/turns/run-command.js.map +1 -0
- package/dist/turns/settle-calls.d.ts +17 -0
- package/dist/turns/settle-calls.d.ts.map +1 -0
- package/dist/turns/settle-calls.js +98 -0
- package/dist/turns/settle-calls.js.map +1 -0
- package/dist/turns/start-turn.d.ts +87 -0
- package/dist/turns/start-turn.d.ts.map +1 -0
- package/dist/turns/start-turn.js +40 -0
- package/dist/turns/start-turn.js.map +1 -0
- package/dist/turns/step.d.ts +8 -0
- package/dist/turns/step.d.ts.map +1 -0
- package/dist/turns/step.js +168 -0
- package/dist/turns/step.js.map +1 -0
- package/dist/ui/register-ui.d.ts +3 -0
- package/dist/ui/register-ui.d.ts.map +1 -0
- package/dist/ui/register-ui.js +75 -0
- package/dist/ui/register-ui.js.map +1 -0
- package/dist/web/components/call.css +2 -0
- package/dist/web/components/call.js +386 -0
- package/dist/web/components/connectors.css +2 -0
- package/dist/web/components/connectors.js +2403 -0
- package/dist/web/components/conversation.css +2 -0
- package/dist/web/components/conversation.js +4319 -0
- package/dist/web/components/mcp-sign-in.css +2 -0
- package/dist/web/components/mcp-sign-in.js +265 -0
- package/dist/web/components/model.css +2 -0
- package/dist/web/components/model.js +545 -0
- package/dist/web/components/question.css +2 -0
- package/dist/web/components/question.js +321 -0
- package/dist/web/components/sessions.css +2 -0
- package/dist/web/components/sessions.js +264 -0
- package/docs/connectors.md +86 -0
- package/docs/sections.md +27 -0
- package/locales/ar.json +418 -0
- package/locales/en.json +418 -0
- package/package.json +70 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Ahmed Deif
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# @kvman/kvcoder
|
|
2
|
+
|
|
3
|
+
The [kvman](https://github.com/ibndeif/kvman) app-building harness: an agent with one `run` tool over connectors, sections, and its conversation UI. It is bundled with kvman, and needs `@kvman/kvai` and `@kvman/kvwebui`.
|
|
4
|
+
|
|
5
|
+
See [its guides](https://github.com/ibndeif/kvman/tree/main/extensions/kvcoder/docs).
|
|
6
|
+
|
|
7
|
+
## License
|
|
8
|
+
|
|
9
|
+
MIT
|
package/dist/api.d.ts
ADDED
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
import type { Json } from '@kvman/sdk';
|
|
2
|
+
import type { Worker } from './delegate/workers.ts';
|
|
3
|
+
import type { Message, Session, Turn } from './sessions/session-view.ts';
|
|
4
|
+
type Empty = Record<string, never>;
|
|
5
|
+
type Thinking = 'off' | 'minimal' | 'low' | 'medium' | 'high';
|
|
6
|
+
type Status = 'idle' | 'running' | 'waiting';
|
|
7
|
+
type SessionId = {
|
|
8
|
+
sessionId: string;
|
|
9
|
+
};
|
|
10
|
+
type Example = {
|
|
11
|
+
description: string;
|
|
12
|
+
input: Json;
|
|
13
|
+
};
|
|
14
|
+
type Binary = {
|
|
15
|
+
check: string;
|
|
16
|
+
install?: string;
|
|
17
|
+
help?: string;
|
|
18
|
+
};
|
|
19
|
+
type Connector = {
|
|
20
|
+
name: string;
|
|
21
|
+
description: string;
|
|
22
|
+
commands: {
|
|
23
|
+
name: string;
|
|
24
|
+
command: string;
|
|
25
|
+
examples?: Example[];
|
|
26
|
+
asks?: true;
|
|
27
|
+
}[];
|
|
28
|
+
} | {
|
|
29
|
+
name: string;
|
|
30
|
+
description: string;
|
|
31
|
+
binary: Binary;
|
|
32
|
+
};
|
|
33
|
+
type ConnectorRow = {
|
|
34
|
+
name: string;
|
|
35
|
+
description: string;
|
|
36
|
+
owner: string;
|
|
37
|
+
kind: 'commands' | 'binary';
|
|
38
|
+
commands?: {
|
|
39
|
+
name: string;
|
|
40
|
+
command: string;
|
|
41
|
+
examples: Example[];
|
|
42
|
+
asks: boolean;
|
|
43
|
+
}[];
|
|
44
|
+
binary?: Binary;
|
|
45
|
+
};
|
|
46
|
+
type Point = 'kvcoder.session.created' | 'kvcoder.session.deleted' | 'kvcoder.session.forked' | 'kvcoder.turn.started' | 'kvcoder.turn.ended' | 'kvcoder.session.waiting';
|
|
47
|
+
type Place = {
|
|
48
|
+
global?: boolean;
|
|
49
|
+
sessionId?: string;
|
|
50
|
+
};
|
|
51
|
+
type JobRow = {
|
|
52
|
+
id: string;
|
|
53
|
+
kind: 'process' | 'subagent' | 'worker';
|
|
54
|
+
title: string;
|
|
55
|
+
call: string;
|
|
56
|
+
status: string;
|
|
57
|
+
startedAt: string;
|
|
58
|
+
endedAt?: string;
|
|
59
|
+
exitCode?: number;
|
|
60
|
+
links: string[];
|
|
61
|
+
};
|
|
62
|
+
type Send = {
|
|
63
|
+
sessionId: string;
|
|
64
|
+
text: string;
|
|
65
|
+
fileIds?: string[];
|
|
66
|
+
};
|
|
67
|
+
type McpServer = {
|
|
68
|
+
name: string;
|
|
69
|
+
description: string;
|
|
70
|
+
command: string;
|
|
71
|
+
args: string[];
|
|
72
|
+
env: string[];
|
|
73
|
+
} | {
|
|
74
|
+
name: string;
|
|
75
|
+
description: string;
|
|
76
|
+
url: string;
|
|
77
|
+
headers: string[];
|
|
78
|
+
};
|
|
79
|
+
type McpCheck = {
|
|
80
|
+
status: 'ready';
|
|
81
|
+
tools: number;
|
|
82
|
+
} | {
|
|
83
|
+
status: 'signInNeeded';
|
|
84
|
+
} | {
|
|
85
|
+
status: 'failed';
|
|
86
|
+
problem: {
|
|
87
|
+
code: string;
|
|
88
|
+
message: string;
|
|
89
|
+
params?: Record<string, Json>;
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
declare module '@kvman/sdk' {
|
|
93
|
+
interface Commands {
|
|
94
|
+
'kvcoder.session.create': {
|
|
95
|
+
input: {
|
|
96
|
+
title?: string;
|
|
97
|
+
};
|
|
98
|
+
output: Session;
|
|
99
|
+
};
|
|
100
|
+
'kvcoder.session.rename': {
|
|
101
|
+
input: {
|
|
102
|
+
sessionId: string;
|
|
103
|
+
title: string;
|
|
104
|
+
};
|
|
105
|
+
output: Empty;
|
|
106
|
+
};
|
|
107
|
+
'kvcoder.session.configure': {
|
|
108
|
+
input: {
|
|
109
|
+
sessionId: string;
|
|
110
|
+
model?: string;
|
|
111
|
+
thinking?: Thinking;
|
|
112
|
+
};
|
|
113
|
+
output: Empty;
|
|
114
|
+
};
|
|
115
|
+
'kvcoder.session.delete': {
|
|
116
|
+
input: SessionId;
|
|
117
|
+
output: Empty;
|
|
118
|
+
};
|
|
119
|
+
'kvcoder.session.compact': {
|
|
120
|
+
input: SessionId;
|
|
121
|
+
output: {
|
|
122
|
+
summarized: boolean;
|
|
123
|
+
};
|
|
124
|
+
};
|
|
125
|
+
'kvcoder.mcp.server.check': {
|
|
126
|
+
input: {
|
|
127
|
+
name: string;
|
|
128
|
+
};
|
|
129
|
+
output: McpCheck;
|
|
130
|
+
};
|
|
131
|
+
'kvcoder.delegate.worker.check': {
|
|
132
|
+
input: {
|
|
133
|
+
name: string;
|
|
134
|
+
};
|
|
135
|
+
output: {
|
|
136
|
+
status: 'ready' | 'notFound';
|
|
137
|
+
};
|
|
138
|
+
};
|
|
139
|
+
'kvcoder.mcp.sign-in.start': {
|
|
140
|
+
input: {
|
|
141
|
+
name: string;
|
|
142
|
+
redirectUrl: string;
|
|
143
|
+
};
|
|
144
|
+
output: {
|
|
145
|
+
url: string;
|
|
146
|
+
};
|
|
147
|
+
};
|
|
148
|
+
'kvcoder.mcp.sign-in.finish': {
|
|
149
|
+
input: {
|
|
150
|
+
state: string;
|
|
151
|
+
code: string;
|
|
152
|
+
};
|
|
153
|
+
output: {
|
|
154
|
+
name: string;
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
'kvcoder.session.export': {
|
|
158
|
+
input: SessionId;
|
|
159
|
+
output: {
|
|
160
|
+
fileId: string;
|
|
161
|
+
};
|
|
162
|
+
};
|
|
163
|
+
'kvcoder.session.fork': {
|
|
164
|
+
input: {
|
|
165
|
+
sessionId: string;
|
|
166
|
+
throughSeq?: number;
|
|
167
|
+
};
|
|
168
|
+
output: Session;
|
|
169
|
+
};
|
|
170
|
+
'kvcoder.message.send': {
|
|
171
|
+
input: Send;
|
|
172
|
+
output: Empty;
|
|
173
|
+
};
|
|
174
|
+
'kvcoder.message.inject': {
|
|
175
|
+
input: Send;
|
|
176
|
+
output: Empty;
|
|
177
|
+
};
|
|
178
|
+
'kvcoder.note.add': {
|
|
179
|
+
input: {
|
|
180
|
+
sessionId: string;
|
|
181
|
+
key: string;
|
|
182
|
+
params?: Record<string, Json>;
|
|
183
|
+
};
|
|
184
|
+
output: Empty;
|
|
185
|
+
};
|
|
186
|
+
'kvcoder.turn.cancel': {
|
|
187
|
+
input: SessionId;
|
|
188
|
+
output: Empty;
|
|
189
|
+
};
|
|
190
|
+
'kvcoder.job.cancel': {
|
|
191
|
+
input: {
|
|
192
|
+
sessionId: string;
|
|
193
|
+
id: string;
|
|
194
|
+
};
|
|
195
|
+
output: Empty;
|
|
196
|
+
};
|
|
197
|
+
'kvcoder.question.answer': {
|
|
198
|
+
input: {
|
|
199
|
+
questionId: string;
|
|
200
|
+
answer: Json;
|
|
201
|
+
};
|
|
202
|
+
output: {
|
|
203
|
+
jobId: string | null;
|
|
204
|
+
};
|
|
205
|
+
};
|
|
206
|
+
'kvcoder.connector.register': {
|
|
207
|
+
input: Connector | {
|
|
208
|
+
connectors: Connector[];
|
|
209
|
+
};
|
|
210
|
+
output: Empty;
|
|
211
|
+
};
|
|
212
|
+
'kvcoder.connector.unregister': {
|
|
213
|
+
input: {
|
|
214
|
+
name: string;
|
|
215
|
+
};
|
|
216
|
+
output: Empty;
|
|
217
|
+
};
|
|
218
|
+
'kvcoder.section.set': {
|
|
219
|
+
input: {
|
|
220
|
+
id: string;
|
|
221
|
+
title: string;
|
|
222
|
+
order: number;
|
|
223
|
+
content: string;
|
|
224
|
+
} & Place;
|
|
225
|
+
output: Empty;
|
|
226
|
+
};
|
|
227
|
+
'kvcoder.section.remove': {
|
|
228
|
+
input: {
|
|
229
|
+
id: string;
|
|
230
|
+
} & Place;
|
|
231
|
+
output: Empty;
|
|
232
|
+
};
|
|
233
|
+
'kvcoder.handler.register': {
|
|
234
|
+
input: {
|
|
235
|
+
point: Point;
|
|
236
|
+
command: string;
|
|
237
|
+
};
|
|
238
|
+
output: Empty;
|
|
239
|
+
};
|
|
240
|
+
'kvcoder.handler.unregister': {
|
|
241
|
+
input: {
|
|
242
|
+
point: Point;
|
|
243
|
+
};
|
|
244
|
+
output: Empty;
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
interface Queries {
|
|
248
|
+
'kvcoder.session.list': {
|
|
249
|
+
input: {
|
|
250
|
+
limit: number;
|
|
251
|
+
};
|
|
252
|
+
output: Session[];
|
|
253
|
+
};
|
|
254
|
+
'kvcoder.session.get': {
|
|
255
|
+
input: SessionId;
|
|
256
|
+
output: Session;
|
|
257
|
+
};
|
|
258
|
+
'kvcoder.session.count': {
|
|
259
|
+
input: {
|
|
260
|
+
status?: Status;
|
|
261
|
+
};
|
|
262
|
+
output: {
|
|
263
|
+
count: number;
|
|
264
|
+
};
|
|
265
|
+
};
|
|
266
|
+
'kvcoder.message.list': {
|
|
267
|
+
input: {
|
|
268
|
+
sessionId: string;
|
|
269
|
+
limit: number;
|
|
270
|
+
};
|
|
271
|
+
output: {
|
|
272
|
+
messages: Message[];
|
|
273
|
+
omitted: number;
|
|
274
|
+
};
|
|
275
|
+
};
|
|
276
|
+
'kvcoder.job.list': {
|
|
277
|
+
input: SessionId;
|
|
278
|
+
output: JobRow[];
|
|
279
|
+
};
|
|
280
|
+
'kvcoder.job.get': {
|
|
281
|
+
input: {
|
|
282
|
+
sessionId: string;
|
|
283
|
+
id: string;
|
|
284
|
+
};
|
|
285
|
+
output: JobRow & {
|
|
286
|
+
output?: Json;
|
|
287
|
+
problem?: Json;
|
|
288
|
+
};
|
|
289
|
+
};
|
|
290
|
+
'kvcoder.turn.list': {
|
|
291
|
+
input: {
|
|
292
|
+
sessionId: string;
|
|
293
|
+
limit: number;
|
|
294
|
+
};
|
|
295
|
+
output: Turn[];
|
|
296
|
+
};
|
|
297
|
+
'kvcoder.prompt.get': {
|
|
298
|
+
input: SessionId;
|
|
299
|
+
output: {
|
|
300
|
+
prompt: string;
|
|
301
|
+
sections: {
|
|
302
|
+
id: string;
|
|
303
|
+
title: string;
|
|
304
|
+
owner: string;
|
|
305
|
+
reach: 'global' | 'workspace' | 'session';
|
|
306
|
+
size: number;
|
|
307
|
+
included: boolean;
|
|
308
|
+
}[];
|
|
309
|
+
};
|
|
310
|
+
};
|
|
311
|
+
'kvcoder.connector.list': {
|
|
312
|
+
input: Empty;
|
|
313
|
+
output: (ConnectorRow & {
|
|
314
|
+
enabled: boolean;
|
|
315
|
+
})[];
|
|
316
|
+
};
|
|
317
|
+
'kvcoder.section.list': {
|
|
318
|
+
input: {
|
|
319
|
+
sessionId?: string;
|
|
320
|
+
};
|
|
321
|
+
output: {
|
|
322
|
+
id: string;
|
|
323
|
+
title: string;
|
|
324
|
+
order: number;
|
|
325
|
+
owner: string;
|
|
326
|
+
global: boolean;
|
|
327
|
+
sessionId?: string;
|
|
328
|
+
size: number;
|
|
329
|
+
}[];
|
|
330
|
+
};
|
|
331
|
+
'kvcoder.handler.list': {
|
|
332
|
+
input: Empty;
|
|
333
|
+
output: {
|
|
334
|
+
point: Point;
|
|
335
|
+
command: string;
|
|
336
|
+
owner: string;
|
|
337
|
+
}[];
|
|
338
|
+
};
|
|
339
|
+
'kvcoder.artifact.list': {
|
|
340
|
+
input: SessionId;
|
|
341
|
+
output: {
|
|
342
|
+
id: string;
|
|
343
|
+
title: string;
|
|
344
|
+
format: 'markdown' | 'html' | 'url';
|
|
345
|
+
version: number;
|
|
346
|
+
size: number;
|
|
347
|
+
updatedAt: string;
|
|
348
|
+
}[];
|
|
349
|
+
};
|
|
350
|
+
'kvcoder.artifact.get': {
|
|
351
|
+
input: {
|
|
352
|
+
sessionId: string;
|
|
353
|
+
id: string;
|
|
354
|
+
};
|
|
355
|
+
output: {
|
|
356
|
+
id: string;
|
|
357
|
+
title: string;
|
|
358
|
+
format: 'markdown' | 'html' | 'url';
|
|
359
|
+
version: number;
|
|
360
|
+
content: string;
|
|
361
|
+
createdAt: string;
|
|
362
|
+
updatedAt: string;
|
|
363
|
+
};
|
|
364
|
+
};
|
|
365
|
+
}
|
|
366
|
+
interface Settings {
|
|
367
|
+
'kvcoder.model': string | null;
|
|
368
|
+
'kvcoder.thinking': Thinking;
|
|
369
|
+
'kvcoder.maxSteps': number;
|
|
370
|
+
'kvcoder.shell.approval': 'ask' | 'auto';
|
|
371
|
+
'kvcoder.shell.path': string | null;
|
|
372
|
+
'kvcoder.compactAt': number;
|
|
373
|
+
'kvcoder.compactKeep': number;
|
|
374
|
+
'kvcoder.connectors': {
|
|
375
|
+
name: string;
|
|
376
|
+
description: string;
|
|
377
|
+
binary: Binary;
|
|
378
|
+
}[];
|
|
379
|
+
'kvcoder.connectors.disabled': string[];
|
|
380
|
+
'kvcoder.mcp.servers': McpServer[];
|
|
381
|
+
'kvcoder.delegate.workers': Worker[];
|
|
382
|
+
'kvcoder.sessions.keep': number;
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
export {};
|
|
386
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/dist/api.js
ADDED
package/dist/api.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const artifactFormats: readonly ["markdown", "html", "url"];
|
|
2
|
+
export type ArtifactFormat = (typeof artifactFormats)[number];
|
|
3
|
+
/** The URL a `url` artifact holds: one http or https address on `localhost` or `127.0.0.1`, with no credentials, or `undefined`. */
|
|
4
|
+
export declare function localUrl(content: string): string | undefined;
|
|
5
|
+
/** What a format left out is: `html` for a page that starts like one, `url` for a lone local address, else `markdown`. */
|
|
6
|
+
export declare function detectFormat(content: string): ArtifactFormat;
|
|
7
|
+
/** The content to store for `format`: a `url` artifact's address, trimmed, or a Problem to throw when it isn't one. */
|
|
8
|
+
export declare function contentFor(format: ArtifactFormat, content: string): string;
|
|
9
|
+
//# sourceMappingURL=artifact-format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-format.d.ts","sourceRoot":"","sources":["../../src/artifacts/artifact-format.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe,sCAAuC,CAAC;AAEpE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAM9D,oIAAoI;AACpI,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAM5D;AAED,0HAA0H;AAC1H,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAG5D;AAED,uHAAuH;AACvH,wBAAgB,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAK1E"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { invalid } from "../problems.js";
|
|
2
|
+
// The formats of an artifact (plan 08 §8.5, ADR 0009, 215 and 216): Markdown, an HTML page, or the URL of a page running on
|
|
3
|
+
// this machine. A format the agent leaves out is read from the content.
|
|
4
|
+
export const artifactFormats = ['markdown', 'html', 'url'];
|
|
5
|
+
const htmlStart = /^\s*(?:<!doctype\s+html|<html[\s>])/i;
|
|
6
|
+
const localHosts = new Set(['localhost', '127.0.0.1']);
|
|
7
|
+
const urlLimit = 2048;
|
|
8
|
+
/** The URL a `url` artifact holds: one http or https address on `localhost` or `127.0.0.1`, with no credentials, or `undefined`. */
|
|
9
|
+
export function localUrl(content) {
|
|
10
|
+
const text = content.trim();
|
|
11
|
+
if (text === '' || text.length > urlLimit || /\s/.test(text) || !URL.canParse(text))
|
|
12
|
+
return undefined;
|
|
13
|
+
const url = new URL(text);
|
|
14
|
+
const local = (url.protocol === 'http:' || url.protocol === 'https:') && localHosts.has(url.hostname) && url.username === '' && url.password === '';
|
|
15
|
+
return local ? text : undefined;
|
|
16
|
+
}
|
|
17
|
+
/** What a format left out is: `html` for a page that starts like one, `url` for a lone local address, else `markdown`. */
|
|
18
|
+
export function detectFormat(content) {
|
|
19
|
+
if (htmlStart.test(content))
|
|
20
|
+
return 'html';
|
|
21
|
+
return localUrl(content) === undefined ? 'markdown' : 'url';
|
|
22
|
+
}
|
|
23
|
+
/** The content to store for `format`: a `url` artifact's address, trimmed, or a Problem to throw when it isn't one. */
|
|
24
|
+
export function contentFor(format, content) {
|
|
25
|
+
if (format !== 'url')
|
|
26
|
+
return content;
|
|
27
|
+
const url = localUrl(content);
|
|
28
|
+
if (url === undefined)
|
|
29
|
+
throw invalid('A url artifact holds one http or https address on localhost or 127.0.0.1, with no credentials, such as http://localhost:8080.');
|
|
30
|
+
return url;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=artifact-format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-format.js","sourceRoot":"","sources":["../../src/artifacts/artifact-format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,4HAA4H;AAC5H,wEAAwE;AAExE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAU,CAAC;AAIpE,MAAM,SAAS,GAAG,sCAAsC,CAAC;AACzD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;AACvD,MAAM,QAAQ,GAAG,IAAI,CAAC;AAEtB,oIAAoI;AACpI,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACtG,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE,CAAC;IACpJ,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAClC,CAAC;AAED,0HAA0H;AAC1H,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAC;IAC3C,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9D,CAAC;AAED,uHAAuH;AACvH,MAAM,UAAU,UAAU,CAAC,MAAsB,EAAE,OAAe;IAChE,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,OAAO,CAAC;IACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,GAAG,KAAK,SAAS;QAAE,MAAM,OAAO,CAAC,+HAA+H,CAAC,CAAC;IACtK,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { SessionDoc } from '../schemas/records.ts';
|
|
2
|
+
/** The bytes of content one artifact holds at most. */
|
|
3
|
+
export declare const artifactContentLimit = 65536;
|
|
4
|
+
/** The artifacts one chat holds at most. */
|
|
5
|
+
export declare const artifactCountLimit = 20;
|
|
6
|
+
/** The chat an artifact belongs to: the session's own id, or its parent's for a subagent. */
|
|
7
|
+
export declare function chatIdOf(session: Pick<SessionDoc, 'parentId'> & {
|
|
8
|
+
id: string;
|
|
9
|
+
}): string;
|
|
10
|
+
/** Fails `TOO_LARGE` when an artifact's content passes the limit. */
|
|
11
|
+
export declare function assertWithinLimit(id: string, content: string): void;
|
|
12
|
+
//# sourceMappingURL=artifact-records.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-records.d.ts","sourceRoot":"","sources":["../../src/artifacts/artifact-records.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAKxD,uDAAuD;AACvD,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAE1C,4CAA4C;AAC5C,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,6FAA6F;AAC7F,wBAAgB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEvF;AAED,qEAAqE;AACrE,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAEnE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { tooLarge } from "../problems.js";
|
|
2
|
+
// The `artifact` connector's store (plan 08 §8.5, ADR 0009, 173 to 176): an artifact belongs to its chat, so a
|
|
3
|
+
// subagent's belongs to the chat at its root. Depth is 1, so the parent is the chat itself.
|
|
4
|
+
/** The bytes of content one artifact holds at most. */
|
|
5
|
+
export const artifactContentLimit = 65536;
|
|
6
|
+
/** The artifacts one chat holds at most. */
|
|
7
|
+
export const artifactCountLimit = 20;
|
|
8
|
+
/** The chat an artifact belongs to: the session's own id, or its parent's for a subagent. */
|
|
9
|
+
export function chatIdOf(session) {
|
|
10
|
+
return session.parentId ?? session.id;
|
|
11
|
+
}
|
|
12
|
+
/** Fails `TOO_LARGE` when an artifact's content passes the limit. */
|
|
13
|
+
export function assertWithinLimit(id, content) {
|
|
14
|
+
if (Buffer.byteLength(content) > artifactContentLimit)
|
|
15
|
+
throw tooLarge(`The artifact ${id} is over ${artifactContentLimit} bytes.`, artifactContentLimit);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=artifact-records.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-records.js","sourceRoot":"","sources":["../../src/artifacts/artifact-records.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,+GAA+G;AAC/G,4FAA4F;AAE5F,uDAAuD;AACvD,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAE1C,4CAA4C;AAC5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAErC,6FAA6F;AAC7F,MAAM,UAAU,QAAQ,CAAC,OAAsD;IAC7E,OAAO,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,iBAAiB,CAAC,EAAU,EAAE,OAAe;IAC3D,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,oBAAoB;QAAE,MAAM,QAAQ,CAAC,gBAAgB,EAAE,YAAY,oBAAoB,SAAS,EAAE,oBAAoB,CAAC,CAAC;AAC3J,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-artifacts.d.ts","sourceRoot":"","sources":["../../src/artifacts/register-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAYzC,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAyBhD"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { z } from '@kvman/sdk';
|
|
2
|
+
import { notFound } from "../problems.js";
|
|
3
|
+
import { findSession } from "../sessions/session-lookup.js";
|
|
4
|
+
import { records } from "../store/collections.js";
|
|
5
|
+
import { artifactFormats } from "./artifact-format.js";
|
|
6
|
+
import { chatIdOf } from "./artifact-records.js";
|
|
7
|
+
// The person's view of a chat's artifacts (plan 08 §8.6, ADR 0009, 176): list and read. Only the agent writes, and a
|
|
8
|
+
// subagent session answers with the artifacts of the chat at its root.
|
|
9
|
+
const formatSchema = z.enum(artifactFormats);
|
|
10
|
+
export function registerArtifacts(ctx) {
|
|
11
|
+
ctx.registerQuery('kvcoder.artifact.list', {
|
|
12
|
+
description: 'Lists the artifacts of a chat, newest change first.',
|
|
13
|
+
input: z.object({ sessionId: z.string() }),
|
|
14
|
+
output: z.array(z.object({ id: z.string(), title: z.string(), format: formatSchema, version: z.number().int(), size: z.number().int(), updatedAt: z.string() })),
|
|
15
|
+
public: true,
|
|
16
|
+
handle: async ({ sessionId }) => {
|
|
17
|
+
const chatId = chatIdOf(await findSession(ctx, sessionId));
|
|
18
|
+
return (await records(ctx.store).artifacts.find({ sessionId: chatId }, { limit: 1000 }))
|
|
19
|
+
.sort((first, second) => second.updatedAt.localeCompare(first.updatedAt) || first.artifactId.localeCompare(second.artifactId))
|
|
20
|
+
.map((doc) => ({ id: doc.artifactId, title: doc.title, format: doc.format, version: doc.version, size: Buffer.byteLength(doc.content), updatedAt: doc.updatedAt }));
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
ctx.registerQuery('kvcoder.artifact.get', {
|
|
24
|
+
description: 'Gives one artifact of a chat with its content.',
|
|
25
|
+
input: z.object({ sessionId: z.string(), id: z.string().min(1) }),
|
|
26
|
+
output: z.object({ id: z.string(), title: z.string(), format: formatSchema, version: z.number().int(), content: z.string(), createdAt: z.string(), updatedAt: z.string() }),
|
|
27
|
+
public: true,
|
|
28
|
+
handle: async ({ sessionId, id }) => {
|
|
29
|
+
const chatId = chatIdOf(await findSession(ctx, sessionId));
|
|
30
|
+
const found = (await records(ctx.store).artifacts.find({ sessionId: chatId, artifactId: id }, { limit: 1 }))[0];
|
|
31
|
+
if (found === undefined)
|
|
32
|
+
throw notFound(`The artifact ${id} doesn't exist.`, { id });
|
|
33
|
+
return { id: found.artifactId, title: found.title, format: found.format, version: found.version, content: found.content, createdAt: found.createdAt, updatedAt: found.updatedAt };
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=register-artifacts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-artifacts.js","sourceRoot":"","sources":["../../src/artifacts/register-artifacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Ctx } from '@kvman/sdk';
|
|
2
|
+
import type { ConnectorRow } from '../registry/register-connectors.ts';
|
|
3
|
+
import type { ShellCommand } from './shell-command.ts';
|
|
4
|
+
export declare function runBinaryChecks(ctx: Ctx, shell: ShellCommand, connectors: readonly ConnectorRow[]): Promise<{
|
|
5
|
+
name: string;
|
|
6
|
+
passed: boolean;
|
|
7
|
+
}[]>;
|
|
8
|
+
//# sourceMappingURL=binary-checks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary-checks.d.ts","sourceRoot":"","sources":["../../src/calls/binary-checks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOvD,wBAAsB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,EAAE,CAAC,CAQtJ"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { runShell } from "./run-shell.js";
|
|
2
|
+
// Binary checks (plan 08 §8.4, ADR 0009, 101): at a session's first step, each binary connector's `check` runs in the
|
|
3
|
+
// real shell, without approval, for at most 5 s; exit 0 passes.
|
|
4
|
+
const checkTimeoutMs = 5_000;
|
|
5
|
+
export async function runBinaryChecks(ctx, shell, connectors) {
|
|
6
|
+
const binaries = connectors.flatMap((connector) => (connector.binary === undefined ? [] : [{ name: connector.name, check: connector.binary.check }]));
|
|
7
|
+
return Promise.all(binaries.map(async ({ name, check }) => {
|
|
8
|
+
const run = await runShell(shell, check, ctx.job.workspace.path, checkTimeoutMs, ctx.job.signal);
|
|
9
|
+
return { name, passed: run.exitCode === 0 && !run.timedOut };
|
|
10
|
+
}));
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=binary-checks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary-checks.js","sourceRoot":"","sources":["../../src/calls/binary-checks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,sHAAsH;AACtH,gEAAgE;AAEhE,MAAM,cAAc,GAAG,KAAK,CAAC;AAE7B,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAQ,EAAE,KAAmB,EAAE,UAAmC;IACtG,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACtJ,OAAO,OAAO,CAAC,GAAG,CAChB,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC/D,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connector-help.d.ts","sourceRoot":"","sources":["../../src/calls/connector-help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAkEzC,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAOpD"}
|