@cogenta/cli 0.4.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3951 -0
- package/dist/admin-assets/assets/index-Bc_X94A_.js +1090 -0
- package/dist/admin-assets/assets/index-CxZHGwVA.css +1 -0
- package/dist/admin-assets/assets/vips-_dmTUXFO.wasm +0 -0
- package/dist/admin-assets/assets/vips-es6-DrQTTS8Q.js +7 -0
- package/dist/admin-assets/branding/logo-cogenta-dark.png +0 -0
- package/dist/admin-assets/branding/logo-cogenta-icon.png +0 -0
- package/dist/admin-assets/branding/logo-cogenta-light.png +0 -0
- package/dist/admin-assets/branding/logo-cogenta-small.png +0 -0
- package/dist/admin-assets/branding/logo-cogenta-transparent.png +0 -0
- package/dist/admin-assets/branding/logo-cogenta.png +0 -0
- package/dist/admin-assets/favicon.png +0 -0
- package/dist/admin-assets/fonts/jetbrains-mono-var.woff2 +0 -0
- package/dist/admin-assets/fonts/space-grotesk-var.woff2 +0 -0
- package/dist/admin-assets/index.html +3 -2
- package/dist/bin.js +6 -0
- package/dist/bin.js.map +1 -1
- package/dist/commands/admin-assets.d.ts +1 -0
- package/dist/commands/admin-assets.d.ts.map +1 -1
- package/dist/commands/admin-assets.js +19 -1
- package/dist/commands/admin-assets.js.map +1 -1
- package/dist/commands/agent-runtime.d.ts +160 -0
- package/dist/commands/agent-runtime.d.ts.map +1 -0
- package/dist/commands/agent-runtime.js +524 -0
- package/dist/commands/agent-runtime.js.map +1 -0
- package/dist/commands/assistant.d.ts +89 -3
- package/dist/commands/assistant.d.ts.map +1 -1
- package/dist/commands/assistant.js +209 -41
- package/dist/commands/assistant.js.map +1 -1
- package/dist/commands/audit-integrity-alert.d.ts +23 -0
- package/dist/commands/audit-integrity-alert.d.ts.map +1 -0
- package/dist/commands/audit-integrity-alert.js +33 -0
- package/dist/commands/audit-integrity-alert.js.map +1 -0
- package/dist/commands/backup.d.ts +78 -0
- package/dist/commands/backup.d.ts.map +1 -0
- package/dist/commands/backup.js +238 -0
- package/dist/commands/backup.js.map +1 -0
- package/dist/commands/channels.d.ts +47 -0
- package/dist/commands/channels.d.ts.map +1 -0
- package/dist/commands/channels.js +284 -0
- package/dist/commands/channels.js.map +1 -0
- package/dist/commands/default-logo.d.ts +27 -0
- package/dist/commands/default-logo.d.ts.map +1 -0
- package/dist/commands/default-logo.js +30 -0
- package/dist/commands/default-logo.js.map +1 -0
- package/dist/commands/doctor.d.ts +5 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +74 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/export.d.ts +22 -0
- package/dist/commands/export.d.ts.map +1 -0
- package/dist/commands/export.js +182 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/forms-page.d.ts +75 -0
- package/dist/commands/forms-page.d.ts.map +1 -0
- package/dist/commands/forms-page.js +191 -0
- package/dist/commands/forms-page.js.map +1 -0
- package/dist/commands/import.d.ts.map +1 -1
- package/dist/commands/import.js +13 -1
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/mcp.d.ts +35 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +277 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/roles.d.ts +22 -0
- package/dist/commands/roles.d.ts.map +1 -0
- package/dist/commands/roles.js +79 -0
- package/dist/commands/roles.js.map +1 -0
- package/dist/commands/search-page.d.ts +15 -0
- package/dist/commands/search-page.d.ts.map +1 -1
- package/dist/commands/search-page.js +22 -16
- package/dist/commands/search-page.js.map +1 -1
- package/dist/commands/seo.d.ts +92 -4
- package/dist/commands/seo.d.ts.map +1 -1
- package/dist/commands/seo.js +168 -4
- package/dist/commands/seo.js.map +1 -1
- package/dist/commands/serve.d.ts +439 -7
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +3515 -181
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/site-plan.d.ts +27 -1
- package/dist/commands/site-plan.d.ts.map +1 -1
- package/dist/commands/site-plan.js +79 -8
- package/dist/commands/site-plan.js.map +1 -1
- package/dist/commands/skin.d.ts.map +1 -1
- package/dist/commands/skin.js +7 -2
- package/dist/commands/skin.js.map +1 -1
- package/dist/commands/term-archive-page.d.ts +94 -0
- package/dist/commands/term-archive-page.d.ts.map +1 -0
- package/dist/commands/term-archive-page.js +195 -0
- package/dist/commands/term-archive-page.js.map +1 -0
- package/dist/commands/theme-css.d.ts +22 -7
- package/dist/commands/theme-css.d.ts.map +1 -1
- package/dist/commands/theme-css.js +33 -8
- package/dist/commands/theme-css.js.map +1 -1
- package/dist/commands/theme-registry.d.ts +94 -0
- package/dist/commands/theme-registry.d.ts.map +1 -0
- package/dist/commands/theme-registry.js +130 -0
- package/dist/commands/theme-registry.js.map +1 -0
- package/dist/commands/theme-render.d.ts +330 -9
- package/dist/commands/theme-render.d.ts.map +1 -1
- package/dist/commands/theme-render.js +932 -66
- package/dist/commands/theme-render.js.map +1 -1
- package/dist/commands/theme-wiring.d.ts +107 -0
- package/dist/commands/theme-wiring.d.ts.map +1 -0
- package/dist/commands/theme-wiring.js +308 -0
- package/dist/commands/theme-wiring.js.map +1 -0
- package/dist/commands/tools.d.ts +71 -0
- package/dist/commands/tools.d.ts.map +1 -0
- package/dist/commands/tools.js +330 -0
- package/dist/commands/tools.js.map +1 -0
- package/dist/commands/update.d.ts +25 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +193 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +146 -4
- package/dist/index.js.map +1 -1
- package/dist/invite-mail.d.ts +39 -0
- package/dist/invite-mail.d.ts.map +1 -0
- package/dist/invite-mail.js +39 -0
- package/dist/invite-mail.js.map +1 -0
- package/dist/update/apply.d.ts +54 -0
- package/dist/update/apply.d.ts.map +1 -0
- package/dist/update/apply.js +77 -0
- package/dist/update/apply.js.map +1 -0
- package/dist/update/changelog-risk.d.ts +20 -0
- package/dist/update/changelog-risk.d.ts.map +1 -0
- package/dist/update/changelog-risk.js +55 -0
- package/dist/update/changelog-risk.js.map +1 -0
- package/dist/update/check.d.ts +60 -0
- package/dist/update/check.d.ts.map +1 -0
- package/dist/update/check.js +56 -0
- package/dist/update/check.js.map +1 -0
- package/dist/update/contract-risk.d.ts +55 -0
- package/dist/update/contract-risk.d.ts.map +1 -0
- package/dist/update/contract-risk.js +75 -0
- package/dist/update/contract-risk.js.map +1 -0
- package/dist/update/history.d.ts +30 -0
- package/dist/update/history.d.ts.map +1 -0
- package/dist/update/history.js +38 -0
- package/dist/update/history.js.map +1 -0
- package/dist/update/index.d.ts +28 -0
- package/dist/update/index.d.ts.map +1 -0
- package/dist/update/index.js +11 -0
- package/dist/update/index.js.map +1 -0
- package/dist/update/list-restore-points.d.ts +20 -0
- package/dist/update/list-restore-points.d.ts.map +1 -0
- package/dist/update/list-restore-points.js +35 -0
- package/dist/update/list-restore-points.js.map +1 -0
- package/dist/update/npm-registry.d.ts +11 -0
- package/dist/update/npm-registry.d.ts.map +1 -0
- package/dist/update/npm-registry.js +74 -0
- package/dist/update/npm-registry.js.map +1 -0
- package/dist/update/restore-point.d.ts +26 -0
- package/dist/update/restore-point.d.ts.map +1 -0
- package/dist/update/restore-point.js +23 -0
- package/dist/update/restore-point.js.map +1 -0
- package/dist/update/tar.d.ts +27 -0
- package/dist/update/tar.d.ts.map +1 -0
- package/dist/update/tar.js +56 -0
- package/dist/update/tar.js.map +1 -0
- package/dist/update/version-compare.d.ts +17 -0
- package/dist/update/version-compare.d.ts.map +1 -0
- package/dist/update/version-compare.js +42 -0
- package/dist/update/version-compare.js.map +1 -0
- package/dist/version.d.ts +13 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +18 -0
- package/dist/version.js.map +1 -0
- package/package.json +33 -16
- package/dist/admin-assets/assets/index-C9a7O_Xs.css +0 -1
- package/dist/admin-assets/assets/index-DXvMgWvn.js +0 -74
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { type ApprovalQueue, type NotFoundLogReader, type ProviderClient, type RedirectWriter, type ThemeCreatorTargetTheme } from '@cogenta/agents';
|
|
2
|
+
import type { AgentConversationStoreLike, AgentRegistryLike, AgentRunnerLike, AgentSkillRegistryLike, ContentService, PromptTemplateRegistryLike, ProviderRegistryLike } from '@cogenta/api';
|
|
3
|
+
import type { AuditLog } from '@cogenta/auth';
|
|
4
|
+
import type { Logger, MediaStore } from '@cogenta/core';
|
|
5
|
+
import { type McpConnectionStore } from '@cogenta/mcp';
|
|
6
|
+
import { type CollectionDefinition, type SiteSettingsStore } from '@cogenta/schema';
|
|
7
|
+
/**
|
|
8
|
+
* L22 tasks 1/1bis — where the runtime `@cogenta/agents` provides finally
|
|
9
|
+
* meets a running site. `@cogenta/agents` knows how to run an agent given a
|
|
10
|
+
* tool registry, a provider registry and stores for declarations/skills/
|
|
11
|
+
* provider config; it does not know how to build a `ContentServiceLike` out
|
|
12
|
+
* of this codebase's real `ContentService`, or where on disk a site keeps
|
|
13
|
+
* its data — that translation is this module's whole job, the same role
|
|
14
|
+
* `assistant.ts` already plays for L18's toolset.
|
|
15
|
+
*
|
|
16
|
+
* Tool availability is not gated by whether a provider is configured (R2):
|
|
17
|
+
* the tool registry, the agent/skill/provider stores, and every CRUD route
|
|
18
|
+
* all work with zero LLM provider set up. Only `AgentRunner.run()` — one
|
|
19
|
+
* synchronous provider lookup before any network call — refuses, per
|
|
20
|
+
* `agents/orchestrator.ts`'s own `AGENT_NO_PROVIDER` guarantee.
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Exported for the same reason `PROVIDERS_SUBDIR` below is — `theme-wiring
|
|
24
|
+
* .ts` reads the "Cogenta Theme Creator" agent's own admin-configured
|
|
25
|
+
* `model.preferred`/`model.fallback` from a second `AgentDeclarationStore`
|
|
26
|
+
* instance pointed at this same directory, rather than duplicating a
|
|
27
|
+
* hardcoded guess at that agent's provider preference.
|
|
28
|
+
*/
|
|
29
|
+
export declare const AGENTS_SUBDIR = "agents";
|
|
30
|
+
/**
|
|
31
|
+
* Exported so `theme-wiring.ts` can point its own `ProviderConfigStore` at
|
|
32
|
+
* the exact same directory `buildAgentRuntime` uses — two independent,
|
|
33
|
+
* file-backed store instances reading the same encrypted files, the same
|
|
34
|
+
* consistency model every other per-request store in this app already
|
|
35
|
+
* relies on. A second, differently-scoped constant here would have let the
|
|
36
|
+
* two silently drift apart, which is exactly the bug this constant's reuse
|
|
37
|
+
* closes (L26 task 5's theme generator answering "no provider" from a
|
|
38
|
+
* config file no admin who configured one through the UI ever touched).
|
|
39
|
+
*/
|
|
40
|
+
export declare const PROVIDERS_SUBDIR = "providers";
|
|
41
|
+
export interface BuildAgentRuntimeOptions {
|
|
42
|
+
/** `.cogenta/agents-runtime` under the project root, by convention — see `runServe`. */
|
|
43
|
+
readonly dataDir: string;
|
|
44
|
+
/** For `deps.scan`, which reads this site's own `package.json`. */
|
|
45
|
+
readonly projectRoot: string;
|
|
46
|
+
readonly signingKey: string;
|
|
47
|
+
readonly site: {
|
|
48
|
+
readonly name: string;
|
|
49
|
+
readonly url?: string;
|
|
50
|
+
readonly locales: readonly string[];
|
|
51
|
+
readonly defaultLocale: string;
|
|
52
|
+
};
|
|
53
|
+
readonly contentService: ContentService;
|
|
54
|
+
readonly mediaStore: MediaStore;
|
|
55
|
+
readonly auditLog: AuditLog;
|
|
56
|
+
readonly logger: Logger;
|
|
57
|
+
/**
|
|
58
|
+
* The `assistant.defaultMaxOutputTokens`/`assistant.defaultRequestTimeoutSeconds`/
|
|
59
|
+
* `assistant.defaultMaxCorrectionAttempts` site settings live here
|
|
60
|
+
* (`SITE_SETTINGS_REGISTRY` in `@cogenta/schema`) — `createLiveProviderRegistry`
|
|
61
|
+
* below re-reads them (`resolveProviderTuningDefaults`) on every `refresh()`,
|
|
62
|
+
* the same "no restart needed" guarantee an edit to a per-provider override
|
|
63
|
+
* already gets.
|
|
64
|
+
*/
|
|
65
|
+
readonly siteSettings: SiteSettingsStore;
|
|
66
|
+
/** The site's schema — for `content.collections`/`content.list` (L22 task 3) to know which collections have a public route, and to compute one. */
|
|
67
|
+
readonly collections: readonly CollectionDefinition[];
|
|
68
|
+
/** For `logs.read_not_found` (L22 task 3, the Site Monitor's own tool). */
|
|
69
|
+
readonly notFoundLog: NotFoundLogReader;
|
|
70
|
+
/** For `redirects.create` (L22 task 3). */
|
|
71
|
+
readonly redirects: RedirectWriter;
|
|
72
|
+
/**
|
|
73
|
+
* Injectable for tests — defaults to a fresh `createMemoryApprovalQueue()`.
|
|
74
|
+
* A non-reversible, side-effecting tool call (every core content/media
|
|
75
|
+
* write tool — `content.write_draft` included) always blocks on this
|
|
76
|
+
* queue regardless of an agent's own autonomy level (`with-autonomy.ts`'s
|
|
77
|
+
* `forcedApproval`, R6): nothing decides it on its own. A caller that
|
|
78
|
+
* wants to observe or decide pending requests (an approvals screen, a
|
|
79
|
+
* channel `/approve` command, or a test proving the *right* tool was
|
|
80
|
+
* proposed for a write) needs the same instance this runtime actually
|
|
81
|
+
* uses — hence this override and `AgentRuntimeAssembly.approvalQueue`
|
|
82
|
+
* below, rather than a queue this module keeps entirely to itself.
|
|
83
|
+
*/
|
|
84
|
+
readonly approvalQueue?: ApprovalQueue;
|
|
85
|
+
/**
|
|
86
|
+
* Fiche 58 task 4 — external MCP connections this site has configured.
|
|
87
|
+
* Optional so a caller that builds a runtime without the registry (an
|
|
88
|
+
* older call site, a test) is unaffected: omitted, no MCP tool is ever
|
|
89
|
+
* wired in, exactly as if no connection existed.
|
|
90
|
+
*/
|
|
91
|
+
readonly mcpConnections?: McpConnectionStore;
|
|
92
|
+
/**
|
|
93
|
+
* L26 task 5 — the "Cogenta Theme Creator" agent's own tool,
|
|
94
|
+
* `theme.propose_theme`. Absent whenever no LLM provider is configured
|
|
95
|
+
* (R2): the tool is then simply not registered, the same posture every
|
|
96
|
+
* other AI-backed piece of this runtime already takes (`createThemeWiring
|
|
97
|
+
* `'s own `generator` field, `AssistToolset`'s empty toolset). Built by
|
|
98
|
+
* `@cogenta/cli`'s `createThemeCreatorToolWiring` (`theme-wiring.ts`),
|
|
99
|
+
* which resolves the same `ProviderClient` and reads the same
|
|
100
|
+
* `availableThemes()` the appearance screen's own AI section already
|
|
101
|
+
* uses — never a second, independently-resolved client.
|
|
102
|
+
*/
|
|
103
|
+
readonly themeCreator?: {
|
|
104
|
+
readonly resolveProvider: () => Promise<{
|
|
105
|
+
readonly client: ProviderClient;
|
|
106
|
+
readonly model: string;
|
|
107
|
+
} | undefined>;
|
|
108
|
+
readonly availableThemes: readonly ThemeCreatorTargetTheme[];
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
export interface AgentRuntimeAssembly {
|
|
112
|
+
readonly agentRegistry: AgentRegistryLike;
|
|
113
|
+
readonly agentRunner: AgentRunnerLike;
|
|
114
|
+
readonly providerRegistry: ProviderRegistryLike;
|
|
115
|
+
readonly skillRegistry: AgentSkillRegistryLike;
|
|
116
|
+
/** `/api/agents/:name/conversation` — one file store, same tier as the agent/skill/provider file stores below (R1). */
|
|
117
|
+
readonly conversations: AgentConversationStoreLike;
|
|
118
|
+
/** `/api/prompt-templates` (fiche 45) — the same store the assistant's `assist.*` tools resolve their instruction text against, so an edit here really does change what the next tool call sends the model. */
|
|
119
|
+
readonly promptTemplateRegistry: PromptTemplateRegistryLike;
|
|
120
|
+
/**
|
|
121
|
+
* Exposed so `serve.ts` can build the L22 task 3 notice source
|
|
122
|
+
* (`@cogenta/api`'s `createAgentApprovalsSource`) over the very same
|
|
123
|
+
* queue `co-pilot` autonomy files into — never a second queue that would
|
|
124
|
+
* disagree with what the runner actually proposed. Also the exact queue
|
|
125
|
+
* L22 task 2's channel/chat surfaces (or a future approvals REST route)
|
|
126
|
+
* would decide a pending write against — see
|
|
127
|
+
* `BuildAgentRuntimeOptions.approvalQueue`.
|
|
128
|
+
*/
|
|
129
|
+
readonly approvalQueue: ApprovalQueue;
|
|
130
|
+
readonly summary: string;
|
|
131
|
+
/**
|
|
132
|
+
* Fiche 58 task 4 — rebuilds the MCP portion of this runtime's tool
|
|
133
|
+
* registry from `BuildAgentRuntimeOptions.mcpConnections`'s *current*
|
|
134
|
+
* state and swaps it in live. `serve.ts`'s `mcp-connections-router.ts`
|
|
135
|
+
* `onMutated` hook calls this after every create/enable/disable/remove/
|
|
136
|
+
* test/expose-tools mutation — the same "no restart needed" guarantee
|
|
137
|
+
* `/api/providers` already gives (`createLiveProviderRegistry.refresh`).
|
|
138
|
+
* A no-op when `mcpConnections` was never supplied.
|
|
139
|
+
*/
|
|
140
|
+
refreshMcpTools(): Promise<void>;
|
|
141
|
+
/**
|
|
142
|
+
* Closes every `McpClient` (and removes every sandbox working directory)
|
|
143
|
+
* the *current* MCP tool assembly holds. A no-op when no MCP connection
|
|
144
|
+
* was ever wired in. Call once, on server shutdown (`serve.ts`'s
|
|
145
|
+
* `dispose`) — never mid-run, which would pull a live tool out from
|
|
146
|
+
* under an agent still using it.
|
|
147
|
+
*/
|
|
148
|
+
mcpDispose(): Promise<void>;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Assembles the whole L22 task 1/1bis runtime for one site: three file
|
|
152
|
+
* stores (agents, agent skills, provider config — all under `dataDir`, R1),
|
|
153
|
+
* the real tool registry, and the one `AgentRunner` this site's `/api/agents`
|
|
154
|
+
* `run` route and any future trigger (cron, channel, chat — later tasks)
|
|
155
|
+
* will share. Idempotent: safe to call on every `cogenta serve` boot,
|
|
156
|
+
* including an upgrade from a pre-L22 site (`ensureBuiltinAgents`/
|
|
157
|
+
* `ensureBuiltinAgentSkills` only ever add what is missing).
|
|
158
|
+
*/
|
|
159
|
+
export declare function buildAgentRuntime(options: BuildAgentRuntimeOptions): Promise<AgentRuntimeAssembly>;
|
|
160
|
+
//# sourceMappingURL=agent-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-runtime.d.ts","sourceRoot":"","sources":["../../src/commands/agent-runtime.ts"],"names":[],"mappings":"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"}
|