@capybara-hq/kernel 0.1.0-rc.5 → 0.1.0-rc.7
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/bootstrap.json +27 -3
- package/dist/admin/admin.controller.d.ts +21 -74
- package/dist/admin/admin.controller.js +50 -50
- package/dist/admin/admin.schemas.d.ts +57 -0
- package/dist/admin/admin.schemas.js +50 -0
- package/dist/admin/extensions.controller.d.ts +10 -0
- package/dist/admin/extensions.controller.js +18 -0
- package/dist/admin/extensions.schemas.d.ts +7 -0
- package/dist/admin/extensions.schemas.js +10 -0
- package/dist/admin/limit-defaults.d.ts +20 -0
- package/dist/admin/limit-defaults.js +10 -0
- package/dist/agents/agent-profile.service.d.ts +7 -5
- package/dist/agents/agent-profile.service.js +14 -9
- package/dist/agents/agents.controller.d.ts +7 -287
- package/dist/agents/agents.controller.js +7 -67
- package/dist/agents/agents.schemas.d.ts +389 -0
- package/dist/agents/agents.schemas.js +126 -0
- package/dist/agents/agents.service.d.ts +16 -6
- package/dist/agents/agents.service.js +75 -19
- package/dist/agents/definition.d.ts +47 -19
- package/dist/agents/definition.js +119 -38
- package/dist/agents/from-template.d.ts +2 -2
- package/dist/agents/from-template.js +76 -45
- package/dist/agents/from-template.service.d.ts +12 -0
- package/dist/agents/from-template.service.js +23 -6
- package/dist/agents/models.controller.d.ts +33 -5
- package/dist/agents/models.controller.js +50 -6
- package/dist/agents/org-templates.d.ts +13 -3
- package/dist/agents/org-templates.js +69 -28
- package/dist/agents/pending-connector-requests.d.ts +2 -0
- package/dist/agents/pending-connector-requests.js +1 -1
- package/dist/agents/pending-connectors.controller.d.ts +1 -1
- package/dist/agents/pending-connectors.controller.js +2 -2
- package/dist/agents/pending-connectors.service.d.ts +2 -2
- package/dist/agents/pending-connectors.service.js +19 -19
- package/dist/agents/profile.d.ts +18 -0
- package/dist/agents/profile.js +5 -1
- package/dist/agents/readiness.controller.d.ts +5 -5
- package/dist/agents/readiness.controller.js +6 -6
- package/dist/agents/templates.controller.d.ts +8 -17
- package/dist/agents/templates.controller.js +13 -31
- package/dist/agents/templates.schemas.d.ts +20 -0
- package/dist/agents/templates.schemas.js +45 -0
- package/dist/background/background.controller.js +3 -2
- package/dist/background/background.schemas.d.ts +10 -0
- package/dist/background/background.schemas.js +16 -0
- package/dist/background/tasks.service.d.ts +1 -1
- package/dist/background/tasks.service.js +7 -2
- package/dist/catalog/admin-catalog.controller.d.ts +4 -57
- package/dist/catalog/admin-catalog.controller.js +8 -45
- package/dist/catalog/admin-catalog.schemas.d.ts +72 -0
- package/dist/catalog/admin-catalog.schemas.js +92 -0
- package/dist/catalog/catalog-content.d.ts +12 -2
- package/dist/catalog/catalog-scope.service.js +8 -2
- package/dist/catalog/catalog.service.d.ts +2 -0
- package/dist/catalog/catalog.service.js +3 -0
- package/dist/catalog/component-scope.controller.d.ts +3 -65
- package/dist/catalog/component-scope.controller.js +3 -56
- package/dist/catalog/component-scope.schemas.d.ts +114 -0
- package/dist/catalog/component-scope.schemas.js +97 -0
- package/dist/catalog/component-scope.service.d.ts +28 -4
- package/dist/catalog/component-scope.service.js +55 -3
- package/dist/catalog/component-state.d.ts +9 -2
- package/dist/catalog/component-state.js +22 -13
- package/dist/catalog/marketplaces.controller.d.ts +5 -35
- package/dist/catalog/marketplaces.controller.js +6 -34
- package/dist/catalog/marketplaces.schemas.d.ts +48 -0
- package/dist/catalog/marketplaces.schemas.js +53 -0
- package/dist/catalog/marketplaces.service.d.ts +15 -1
- package/dist/catalog/marketplaces.service.js +22 -1
- package/dist/catalog/org-catalog.controller.d.ts +6 -62
- package/dist/catalog/org-catalog.controller.js +12 -66
- package/dist/catalog/org-catalog.schemas.d.ts +79 -0
- package/dist/catalog/org-catalog.schemas.js +82 -0
- package/dist/catalog/org-catalog.service.d.ts +9 -2
- package/dist/catalog/org-catalog.service.js +38 -5
- package/dist/catalog/org-extension.controller.d.ts +1 -12
- package/dist/catalog/org-extension.controller.js +1 -10
- package/dist/catalog/org-extension.schemas.d.ts +15 -0
- package/dist/catalog/org-extension.schemas.js +22 -0
- package/dist/catalog/org-plugin-uploads.controller.d.ts +2 -19
- package/dist/catalog/org-plugin-uploads.controller.js +15 -28
- package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
- package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
- package/dist/catalog/owned-items.d.ts +6 -2
- package/dist/catalog/owned-items.js +16 -4
- package/dist/catalog/platform-components.d.ts +2 -0
- package/dist/catalog/platform-components.js +2 -0
- package/dist/catalog/plugin-import.js +1 -0
- package/dist/catalog/plugin-install.js +1 -1
- package/dist/catalog/requests.service.d.ts +2 -1
- package/dist/catalog/requests.service.js +6 -2
- package/dist/channels/channels.schemas.d.ts +33 -0
- package/dist/channels/channels.schemas.js +34 -0
- package/dist/channels/connections.controller.d.ts +2 -29
- package/dist/channels/connections.controller.js +1 -23
- package/dist/channels/connections.service.d.ts +8 -2
- package/dist/channels/connections.service.js +23 -5
- package/dist/channels/inbound.js +4 -0
- package/dist/config/schema.d.ts +4 -0
- package/dist/config/schema.js +24 -0
- package/dist/conversations/conversations.controller.d.ts +16 -37
- package/dist/conversations/conversations.controller.js +16 -56
- package/dist/conversations/conversations.schemas.d.ts +52 -0
- package/dist/conversations/conversations.schemas.js +79 -0
- package/dist/conversations/conversations.service.d.ts +13 -4
- package/dist/conversations/conversations.service.js +32 -26
- package/dist/conversations/events.d.ts +80 -6
- package/dist/conversations/events.js +60 -5
- package/dist/conversations/message-context.d.ts +28 -0
- package/dist/conversations/message-context.js +56 -0
- package/dist/conversations/queue.d.ts +2 -1
- package/dist/conversations/queue.js +11 -2
- package/dist/ctx/create-ctx.d.ts +15 -1
- package/dist/ctx/create-ctx.js +23 -2
- package/dist/db/kernel-schema.d.ts +44 -0
- package/dist/environments/environments.schemas.d.ts +3 -0
- package/dist/environments/environments.schemas.js +14 -0
- package/dist/environments/environments.service.d.ts +16 -4
- package/dist/environments/environments.service.js +58 -13
- package/dist/errors.d.ts +6 -0
- package/dist/errors.js +6 -0
- package/dist/evals/evals.schemas.d.ts +110 -0
- package/dist/evals/evals.schemas.js +107 -0
- package/dist/evals/reconstruct.js +18 -11
- package/dist/evals/recorded-tools.d.ts +2 -1
- package/dist/evals/recorded-tools.js +11 -3
- package/dist/evals/run-replay.d.ts +8 -1
- package/dist/evals/run-replay.js +17 -2
- package/dist/evals/runs.controller.d.ts +2 -57
- package/dist/evals/runs.controller.js +1 -42
- package/dist/evals/runs.service.d.ts +8 -7
- package/dist/evals/runs.service.js +45 -30
- package/dist/evals/sets.controller.d.ts +2 -28
- package/dist/evals/sets.controller.js +1 -31
- package/dist/evals/sets.service.d.ts +7 -7
- package/dist/evals/sets.service.js +23 -17
- package/dist/evals/snapshot.d.ts +3 -2
- package/dist/evals/snapshot.js +17 -4
- package/dist/evals/step-replay.d.ts +2 -1
- package/dist/evals/step-replay.js +3 -2
- package/dist/extensions/admin-ops.d.ts +5 -3
- package/dist/extensions/admin-ops.js +17 -12
- package/dist/extensions/config-hash.d.ts +10 -0
- package/dist/extensions/config-hash.js +38 -0
- package/dist/extensions/deployment-config.d.ts +16 -1
- package/dist/extensions/deployment-config.js +83 -0
- package/dist/extensions/extensions.module.js +9 -12
- package/dist/extensions/host.d.ts +39 -12
- package/dist/extensions/host.js +129 -51
- package/dist/extensions/installs.d.ts +5 -0
- package/dist/extensions/installs.js +12 -0
- package/dist/extensions/org-config.d.ts +17 -2
- package/dist/extensions/org-config.js +23 -4
- package/dist/extensions/point-defaults.controller.d.ts +2 -8
- package/dist/extensions/point-defaults.controller.js +1 -3
- package/dist/extensions/point-defaults.d.ts +3 -1
- package/dist/extensions/point-defaults.js +4 -2
- package/dist/extensions/point-defaults.schemas.d.ts +9 -0
- package/dist/extensions/point-defaults.schemas.js +14 -0
- package/dist/extensions/state.module.d.ts +9 -0
- package/dist/extensions/state.module.js +38 -0
- package/dist/extensions/unavailable.d.ts +49 -0
- package/dist/extensions/unavailable.js +113 -0
- package/dist/files/previewers.controller.js +2 -3
- package/dist/files/previewers.d.ts +1 -1
- package/dist/files/previewers.js +4 -4
- package/dist/files/previewers.schemas.d.ts +10 -0
- package/dist/files/previewers.schemas.js +9 -0
- package/dist/http/api.module.js +4 -0
- package/dist/http/plugin-dispatch.d.ts +4 -1
- package/dist/http/plugin-dispatch.js +14 -2
- package/dist/identity/accounts.d.ts +43 -4
- package/dist/identity/accounts.js +74 -6
- package/dist/identity/auth.guard.js +10 -1
- package/dist/identity/cookies.d.ts +6 -0
- package/dist/identity/cookies.js +14 -0
- package/dist/identity/identity.module.js +3 -0
- package/dist/identity/initial-passwords.controller.d.ts +22 -0
- package/dist/identity/initial-passwords.controller.js +49 -0
- package/dist/identity/initial-passwords.d.ts +61 -0
- package/dist/identity/initial-passwords.job.d.ts +16 -0
- package/dist/identity/initial-passwords.job.js +46 -0
- package/dist/identity/initial-passwords.js +159 -0
- package/dist/identity/me.controller.d.ts +14 -0
- package/dist/identity/me.controller.js +39 -1
- package/dist/identity/principal.d.ts +8 -0
- package/dist/identity/principal.js +8 -0
- package/dist/identity/settings.d.ts +3 -1
- package/dist/identity/settings.js +6 -4
- package/dist/inbox/inbox.schemas.d.ts +8 -0
- package/dist/inbox/inbox.schemas.js +11 -0
- package/dist/inbox/platform-inbox.controller.d.ts +1 -1
- package/dist/inbox/platform-inbox.controller.js +2 -2
- package/dist/index.d.ts +4 -0
- package/dist/index.js +6 -0
- package/dist/infra/config/kernel-config.service.js +3 -0
- package/dist/infra/events/kernel-events.d.ts +8 -0
- package/dist/lifecycle/kernel-lifecycle.js +4 -0
- package/dist/models/embeddings.d.ts +82 -0
- package/dist/models/embeddings.js +326 -0
- package/dist/models/enablement.controller.d.ts +40 -0
- package/dist/models/enablement.controller.js +74 -0
- package/dist/models/enablement.d.ts +101 -0
- package/dist/models/enablement.js +264 -0
- package/dist/models/models.module.d.ts +5 -1
- package/dist/models/models.module.js +16 -4
- package/dist/models/org-models.schemas.d.ts +8 -0
- package/dist/models/org-models.schemas.js +22 -0
- package/dist/models/prices.d.ts +3 -1
- package/dist/models/prices.js +7 -5
- package/dist/models/purposes.d.ts +30 -6
- package/dist/models/purposes.js +68 -17
- package/dist/orgs/orgs.controller.d.ts +2 -5
- package/dist/orgs/orgs.controller.js +3 -6
- package/dist/orgs/orgs.schemas.d.ts +8 -0
- package/dist/orgs/orgs.schemas.js +16 -0
- package/dist/orgs/orgs.service.d.ts +3 -1
- package/dist/orgs/orgs.service.js +6 -4
- package/dist/orgs/settings.service.d.ts +9 -1
- package/dist/orgs/settings.service.js +20 -5
- package/dist/overrides.d.ts +4 -0
- package/dist/overrides.js +2 -0
- package/dist/platform/errors.d.ts +21 -4
- package/dist/platform/errors.js +45 -6
- package/dist/platform/exclusions.d.ts +2 -3
- package/dist/platform/exclusions.js +68 -831
- package/dist/platform/method.js +1 -1
- package/dist/platform/operation.d.ts +82 -5
- package/dist/platform/operation.js +62 -7
- package/dist/platform/ops/accounts.ops.d.ts +32 -0
- package/dist/platform/ops/accounts.ops.js +291 -0
- package/dist/platform/ops/admin.ops.d.ts +36 -0
- package/dist/platform/ops/admin.ops.js +389 -0
- package/dist/platform/ops/agent-skills.ops.d.ts +24 -0
- package/dist/platform/ops/agent-skills.ops.js +226 -0
- package/dist/platform/ops/agent-templates.ops.d.ts +4 -1
- package/dist/platform/ops/agent-templates.ops.js +194 -14
- package/dist/platform/ops/agents.ops.d.ts +19 -1
- package/dist/platform/ops/agents.ops.js +481 -58
- package/dist/platform/ops/approvals.ops.d.ts +30 -0
- package/dist/platform/ops/approvals.ops.js +116 -0
- package/dist/platform/ops/background.ops.d.ts +14 -0
- package/dist/platform/ops/background.ops.js +134 -0
- package/dist/platform/ops/catalog-admin.ops.d.ts +74 -0
- package/dist/platform/ops/catalog-admin.ops.js +587 -0
- package/dist/platform/ops/channels.ops.d.ts +16 -0
- package/dist/platform/ops/channels.ops.js +195 -0
- package/dist/platform/ops/components.ops.d.ts +46 -0
- package/dist/platform/ops/components.ops.js +853 -0
- package/dist/platform/ops/connectors.ops.d.ts +4 -2
- package/dist/platform/ops/connectors.ops.js +68 -6
- package/dist/platform/ops/conversations.ops.d.ts +30 -0
- package/dist/platform/ops/conversations.ops.js +470 -0
- package/dist/platform/ops/environments.ops.d.ts +26 -0
- package/dist/platform/ops/environments.ops.js +289 -0
- package/dist/platform/ops/errors.d.ts +10 -5
- package/dist/platform/ops/errors.js +19 -11
- package/dist/platform/ops/evals.ops.d.ts +28 -0
- package/dist/platform/ops/evals.ops.js +783 -0
- package/dist/platform/ops/extensions-admin.ops.d.ts +25 -0
- package/dist/platform/ops/extensions-admin.ops.js +344 -0
- package/dist/platform/ops/extensions.ops.d.ts +7 -1
- package/dist/platform/ops/extensions.ops.js +248 -17
- package/dist/platform/ops/inbox.ops.d.ts +25 -0
- package/dist/platform/ops/inbox.ops.js +378 -0
- package/dist/platform/ops/marketplaces.ops.d.ts +7 -1
- package/dist/platform/ops/marketplaces.ops.js +326 -17
- package/dist/platform/ops/models.ops.d.ts +25 -0
- package/dist/platform/ops/models.ops.js +232 -0
- package/dist/platform/ops/org-plugins.ops.d.ts +29 -0
- package/dist/platform/ops/org-plugins.ops.js +329 -0
- package/dist/platform/ops/org-settings.ops.d.ts +16 -0
- package/dist/platform/ops/org-settings.ops.js +102 -0
- package/dist/platform/ops/orgs.ops.d.ts +28 -0
- package/dist/platform/ops/orgs.ops.js +295 -0
- package/dist/platform/ops/other-orgs.d.ts +20 -0
- package/dist/platform/ops/other-orgs.js +72 -0
- package/dist/platform/ops/platform.ops.d.ts +4 -4
- package/dist/platform/ops/platform.ops.js +23 -24
- package/dist/platform/ops/plugins.ops.d.ts +10 -8
- package/dist/platform/ops/plugins.ops.js +176 -77
- package/dist/platform/ops/previewers.ops.d.ts +14 -0
- package/dist/platform/ops/previewers.ops.js +109 -0
- package/dist/platform/ops/requests.ops.js +57 -19
- package/dist/platform/ops/skills.ops.d.ts +5 -1
- package/dist/platform/ops/skills.ops.js +129 -11
- package/dist/platform/ops/unavailable.d.ts +23 -0
- package/dist/platform/ops/unavailable.js +111 -0
- package/dist/platform/parity.d.ts +33 -0
- package/dist/platform/parity.js +272 -0
- package/dist/platform/platform-ops.module.d.ts +32 -0
- package/dist/platform/platform-ops.module.js +78 -11
- package/dist/platform/route-schemas.d.ts +18 -0
- package/dist/platform/route-schemas.js +60 -0
- package/dist/roles/worker.module.js +2 -0
- package/dist/runtime/context/build.d.ts +2 -0
- package/dist/runtime/context/build.js +28 -2
- package/dist/runtime/context/compaction.js +10 -1
- package/dist/runtime/context/run-context.d.ts +65 -0
- package/dist/runtime/context/run-context.js +215 -0
- package/dist/runtime/hook-calls.d.ts +8 -1
- package/dist/runtime/hook-calls.js +40 -9
- package/dist/runtime/model-call.d.ts +8 -3
- package/dist/runtime/model-call.js +30 -6
- package/dist/runtime/providers.d.ts +146 -32
- package/dist/runtime/providers.js +328 -67
- package/dist/runtime/run-context.service.d.ts +65 -0
- package/dist/runtime/run-context.service.js +220 -0
- package/dist/runtime/run-worker.d.ts +6 -1
- package/dist/runtime/run-worker.js +35 -10
- package/dist/runtime/runtime.module.js +2 -0
- package/dist/runtime/subagents/definition.d.ts +15 -15
- package/dist/runtime/subagents/definition.js +49 -118
- package/dist/runtime/usage-report-jobs.d.ts +88 -0
- package/dist/runtime/usage-report-jobs.js +158 -0
- package/dist/runtime/usage-report.d.ts +33 -38
- package/dist/runtime/usage-report.js +152 -84
- package/dist/skills/changes.controller.js +2 -1
- package/dist/skills/changes.service.d.ts +1 -1
- package/dist/skills/changes.service.js +4 -4
- package/dist/skills/invocable.controller.d.ts +1 -1
- package/dist/skills/invocable.controller.js +2 -2
- package/dist/skills/invoke.d.ts +2 -2
- package/dist/skills/invoke.js +8 -1
- package/dist/skills/skills.controller.d.ts +4 -13
- package/dist/skills/skills.controller.js +8 -24
- package/dist/skills/skills.schemas.d.ts +48 -0
- package/dist/skills/skills.schemas.js +61 -0
- package/dist/skills/skills.service.d.ts +11 -1
- package/dist/skills/skills.service.js +37 -14
- package/dist/time-zone.d.ts +5 -0
- package/dist/time-zone.js +19 -0
- package/dist/tools/approvals.controller.js +2 -3
- package/dist/tools/approvals.schemas.d.ts +21 -0
- package/dist/tools/approvals.schemas.js +15 -0
- package/dist/tools/builtin-names.d.ts +10 -8
- package/dist/tools/builtin-names.js +16 -11
- package/dist/tools/builtins/builtin-tools.d.ts +3 -1
- package/dist/tools/builtins/builtin-tools.js +15 -3
- package/dist/tools/builtins/current-time.d.ts +26 -0
- package/dist/tools/builtins/current-time.js +99 -0
- package/dist/tools/builtins/platform.d.ts +19 -2
- package/dist/tools/builtins/platform.js +105 -16
- package/dist/tools/connectors.controller.d.ts +1 -2
- package/dist/tools/connectors.controller.js +1 -4
- package/dist/tools/connectors.schemas.d.ts +12 -0
- package/dist/tools/connectors.schemas.js +19 -0
- package/dist/tools/connectors.service.d.ts +5 -2
- package/dist/tools/connectors.service.js +7 -5
- package/dist/tools/org-tool-switches.d.ts +16 -2
- package/dist/tools/org-tool-switches.js +26 -9
- package/dist/tools/pipeline.js +9 -1
- package/dist/tools/registry.d.ts +48 -51
- package/dist/tools/registry.js +222 -233
- package/package.json +3 -3
- package/src/migrations/0089_model_kinds_usage.sql +38 -0
- package/src/migrations/0090_initial_passwords.sql +27 -0
- package/src/migrations/0091_account_time_zone.sql +4 -0
- package/src/migrations/0092_tools_default_on.sql +27 -0
- package/dist/platform/redact-orgs.d.ts +0 -7
- package/dist/platform/redact-orgs.js +0 -52
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
-- Model platform providers (spec 2026-11-06-model-platform-providers-design.md). Expand-only: two
|
|
2
|
+
-- new tables, nothing existing changes.
|
|
3
|
+
|
|
4
|
+
-- 0089, spec §5.3: models disabled on two layers. `org_id` null is the platform's list (the super
|
|
5
|
+
-- admin; such a model is invisible to every org), otherwise the org's own list (an org admin, among
|
|
6
|
+
-- the models the platform left on). No row means the model is enabled; a model a provider lists
|
|
7
|
+
-- later is enabled everywhere until someone disables it. Keyed on the model id, so a row applies to
|
|
8
|
+
-- whichever list the org sees (the platform's config or the org's own copy); an id the list does
|
|
9
|
+
-- not contain is kept harmlessly.
|
|
10
|
+
CREATE TABLE IF NOT EXISTS model_disabled (
|
|
11
|
+
org_id text NULL REFERENCES orgs(id) ON DELETE CASCADE,
|
|
12
|
+
provider text NOT NULL,
|
|
13
|
+
model text NOT NULL,
|
|
14
|
+
disabled_by text REFERENCES accounts(id) ON DELETE SET NULL,
|
|
15
|
+
disabled_at timestamptz NOT NULL DEFAULT now()
|
|
16
|
+
);
|
|
17
|
+
CREATE UNIQUE INDEX IF NOT EXISTS model_disabled_scope_key
|
|
18
|
+
ON model_disabled ((coalesce(org_id, '')), provider, model);
|
|
19
|
+
|
|
20
|
+
-- 0089, spec §5.4: model usage outside conversations (an extension's `ctx.models.embed` call). One
|
|
21
|
+
-- row per call; `reported_at` is set once the `usage.report` job for the row (eventId = id) has
|
|
22
|
+
-- nothing left to deliver (delivered, no subscriber, or a definite drop); `report_failed_at` once
|
|
23
|
+
-- the job gave up after its last attempt. The sweeper re-enqueues recent rows where both are null.
|
|
24
|
+
CREATE TABLE IF NOT EXISTS model_usage (
|
|
25
|
+
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
26
|
+
org_id text NOT NULL REFERENCES orgs(id) ON DELETE CASCADE,
|
|
27
|
+
extension text NOT NULL,
|
|
28
|
+
purpose text NOT NULL,
|
|
29
|
+
provider text NOT NULL,
|
|
30
|
+
model text NOT NULL,
|
|
31
|
+
input_tokens integer NOT NULL,
|
|
32
|
+
occurred_at timestamptz NOT NULL DEFAULT now(),
|
|
33
|
+
reported_at timestamptz NULL,
|
|
34
|
+
report_failed_at timestamptz NULL
|
|
35
|
+
);
|
|
36
|
+
CREATE INDEX IF NOT EXISTS model_usage_org_time ON model_usage (org_id, occurred_at DESC);
|
|
37
|
+
CREATE INDEX IF NOT EXISTS model_usage_unreported ON model_usage (occurred_at)
|
|
38
|
+
WHERE reported_at IS NULL AND report_failed_at IS NULL;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
-- Platform tool phase 2 (spec 2026-11-07-platform-tool-design.md §14.5 item 2): the super admin's
|
|
2
|
+
-- agent creates an account with a kernel-generated one-time password. Expand-only.
|
|
3
|
+
--
|
|
4
|
+
-- must_change_password: the account must set its own password before anything else (the auth
|
|
5
|
+
-- guard refuses every route but the password change, /me and logout until it does).
|
|
6
|
+
ALTER TABLE capybara.accounts ADD COLUMN IF NOT EXISTS must_change_password boolean NOT NULL DEFAULT false;
|
|
7
|
+
|
|
8
|
+
-- The generated password, sealed with the master keyring (AES-256-GCM, AAD = account id), waiting
|
|
9
|
+
-- for the person who approved the creation to read it once on the web. Keyed by the account; the
|
|
10
|
+
-- tool call it came from (conversation_id, run_id, call_id: a call id is unique only within its run)
|
|
11
|
+
-- and its recipient decide who may read it. Read once (deleted as it is read), dropped when the
|
|
12
|
+
-- account changes its password, and dropped after expires_at by the hourly cleanup job.
|
|
13
|
+
CREATE TABLE IF NOT EXISTS capybara.account_initial_passwords (
|
|
14
|
+
account_id text PRIMARY KEY REFERENCES capybara.accounts(id) ON DELETE CASCADE,
|
|
15
|
+
recipient_account_id text NOT NULL REFERENCES capybara.accounts(id) ON DELETE CASCADE,
|
|
16
|
+
conversation_id text NOT NULL REFERENCES capybara.conversations(id) ON DELETE CASCADE,
|
|
17
|
+
run_id text NOT NULL,
|
|
18
|
+
call_id text NOT NULL,
|
|
19
|
+
master_key_id text NOT NULL,
|
|
20
|
+
ciphertext bytea NOT NULL,
|
|
21
|
+
expires_at timestamptz NOT NULL,
|
|
22
|
+
created_at timestamptz NOT NULL DEFAULT now()
|
|
23
|
+
);
|
|
24
|
+
CREATE INDEX IF NOT EXISTS account_initial_passwords_call_idx
|
|
25
|
+
ON capybara.account_initial_passwords (conversation_id, run_id, call_id);
|
|
26
|
+
CREATE INDEX IF NOT EXISTS account_initial_passwords_expires_idx
|
|
27
|
+
ON capybara.account_initial_passwords (expires_at);
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
-- Run context (spec 2026-11-08-run-context-design.md §3.4): a person's time zone setting (IANA
|
|
2
|
+
-- name). Null, the default, follows the browser's time zone sent with each message; a set value
|
|
3
|
+
-- overrides it. Expand-only.
|
|
4
|
+
ALTER TABLE accounts ADD COLUMN IF NOT EXISTS time_zone text;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
-- Tools are on by default (spec 2026-11-08-tools-default-on-design.md §3): an agent stores only
|
|
2
|
+
-- what it turns off (`disabledTools`), not an enabled list (`tools`). Every stored agent version,
|
|
3
|
+
-- older ones included (a rollback reads the same shape), becomes "nothing turned off". Idempotent:
|
|
4
|
+
-- a definition without `tools` is left alone, one without `disabledTools` gets the empty list.
|
|
5
|
+
UPDATE agent_versions
|
|
6
|
+
SET definition = (definition - 'tools') || jsonb_build_object('disabledTools', '[]'::jsonb)
|
|
7
|
+
WHERE definition ? 'tools' OR NOT definition ? 'disabledTools';
|
|
8
|
+
|
|
9
|
+
-- Org-made agent templates (saved from an agent by an org admin: no plugin, no catalog item)
|
|
10
|
+
-- lose their `tools` allowlist, so they turn nothing off either. Templates from plugin packages
|
|
11
|
+
-- keep what the package wrote.
|
|
12
|
+
UPDATE agent_template_versions AS v
|
|
13
|
+
SET definition = v.definition - 'tools'
|
|
14
|
+
FROM agent_templates AS t
|
|
15
|
+
WHERE t.id = v.template_id
|
|
16
|
+
AND t.plugin_name IS NULL
|
|
17
|
+
AND t.catalog_item_id IS NULL
|
|
18
|
+
AND v.definition ? 'tools';
|
|
19
|
+
|
|
20
|
+
UPDATE platform_agent_template_versions AS v
|
|
21
|
+
SET definition = v.definition - 'tools'
|
|
22
|
+
FROM platform_agent_templates AS t
|
|
23
|
+
WHERE t.id = v.template_id
|
|
24
|
+
AND t.plugin_name IS NULL
|
|
25
|
+
AND t.catalog_item_id IS NULL
|
|
26
|
+
AND v.object_prefix IS NULL
|
|
27
|
+
AND v.definition ? 'tools';
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A super-admin result as it may enter one org's event log (Platform tool spec §6.1): every org
|
|
3
|
-
* list becomes `{ count }`, org ids and names elsewhere are dropped, and an org owner is given as
|
|
4
|
-
* `{ kind: "org" }` only. Shared agents, trajectories and eval snapshots expose the log to other
|
|
5
|
-
* people, so another org is never named or described; the admin console shows which.
|
|
6
|
-
*/
|
|
7
|
-
export declare function redactOrgs(value: unknown): unknown;
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Keys whose value lists orgs in the platform views (`CatalogItemView.scopeOrgs`, the update
|
|
3
|
-
* preview's `extension.orgs`, `connectorOrgs`, a component's `pinnedOrgs` and `kept`, a scope
|
|
4
|
-
* preview's `affected`, …): replaced with `{ count }`.
|
|
5
|
-
*/
|
|
6
|
-
const ORG_LISTS = new Set([
|
|
7
|
-
"orgs",
|
|
8
|
-
"scopeOrgs",
|
|
9
|
-
"pinnedOrgs",
|
|
10
|
-
"connectorOrgs",
|
|
11
|
-
"kept",
|
|
12
|
-
"usedBy",
|
|
13
|
-
"affected",
|
|
14
|
-
]);
|
|
15
|
-
/** Keys naming one org, or orgs by id: dropped. */
|
|
16
|
-
const ORG_KEYS = new Set([
|
|
17
|
-
"orgId",
|
|
18
|
-
"orgIds",
|
|
19
|
-
"orgName",
|
|
20
|
-
"orgNames",
|
|
21
|
-
"ownerOrgId",
|
|
22
|
-
]);
|
|
23
|
-
/**
|
|
24
|
-
* A super-admin result as it may enter one org's event log (Platform tool spec §6.1): every org
|
|
25
|
-
* list becomes `{ count }`, org ids and names elsewhere are dropped, and an org owner is given as
|
|
26
|
-
* `{ kind: "org" }` only. Shared agents, trajectories and eval snapshots expose the log to other
|
|
27
|
-
* people, so another org is never named or described; the admin console shows which.
|
|
28
|
-
*/
|
|
29
|
-
export function redactOrgs(value) {
|
|
30
|
-
if (Array.isArray(value))
|
|
31
|
-
return value.map(redactOrgs);
|
|
32
|
-
if (value === null || typeof value !== "object")
|
|
33
|
-
return value;
|
|
34
|
-
if (value instanceof Date)
|
|
35
|
-
return value;
|
|
36
|
-
const out = {};
|
|
37
|
-
for (const [k, v] of Object.entries(value)) {
|
|
38
|
-
if (ORG_KEYS.has(k))
|
|
39
|
-
continue;
|
|
40
|
-
if (ORG_LISTS.has(k) && Array.isArray(v)) {
|
|
41
|
-
out[k] = { count: v.length };
|
|
42
|
-
continue;
|
|
43
|
-
}
|
|
44
|
-
if (k === "owner" && isOrgOwner(v)) {
|
|
45
|
-
out[k] = { kind: "org" };
|
|
46
|
-
continue;
|
|
47
|
-
}
|
|
48
|
-
out[k] = redactOrgs(v);
|
|
49
|
-
}
|
|
50
|
-
return out;
|
|
51
|
-
}
|
|
52
|
-
const isOrgOwner = (v) => typeof v === "object" && v !== null && v.kind === "org";
|