@opengeni/db 0.36.1 → 3.1.0-canary.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/dist/attached-browser-devices.d.ts +7 -0
- package/dist/automations.d.ts +154 -0
- package/dist/canonical-human-identities.js +3 -3
- package/dist/capability-integrations.d.ts +13 -0
- package/dist/child-lifecycle-notices.d.ts +68 -0
- package/dist/{chunk-GYO7ED2Q.js → chunk-EULAN2NP.js} +2 -2
- package/dist/{chunk-VTPRIXKG.js → chunk-NJVZPWXY.js} +3 -3
- package/dist/{chunk-HSOWSYOX.js → chunk-NMUBV7Z5.js} +19 -11
- package/dist/chunk-NMUBV7Z5.js.map +1 -0
- package/dist/chunk-OF5OBB76.js +4457 -0
- package/dist/chunk-OF5OBB76.js.map +1 -0
- package/dist/{chunk-5KTIEDX7.js → chunk-PR2WMLOQ.js} +7714 -4443
- package/dist/chunk-PR2WMLOQ.js.map +1 -0
- package/dist/{chunk-Z7VYMNPZ.js → chunk-SCPUJS53.js} +41 -4
- package/dist/chunk-SCPUJS53.js.map +1 -0
- package/dist/{chunk-SK7YYHBI.js → chunk-SIBYBA2D.js} +46 -1
- package/dist/chunk-SIBYBA2D.js.map +1 -0
- package/dist/chunk-TIKF3KTI.js +383 -0
- package/dist/chunk-TIKF3KTI.js.map +1 -0
- package/dist/chunk-ZZ5LJEFX.js +516 -0
- package/dist/chunk-ZZ5LJEFX.js.map +1 -0
- package/dist/codemode-operations.d.ts +1 -6
- package/dist/company-brain-context-selection-schema.d.ts +705 -0
- package/dist/company-brain-context-selection.d.ts +94 -0
- package/dist/company-brain-governed-writes.d.ts +24 -0
- package/dist/company-brain.d.ts +55 -0
- package/dist/company-profile-agent-admin.d.ts +15 -0
- package/dist/company-profile-schema.d.ts +619 -2
- package/dist/company-profile.d.ts +9 -4
- package/dist/connection-authority.d.ts +95 -0
- package/dist/connection-scopes.d.ts +8 -0
- package/dist/connection-tenancy-backfill.d.ts +41 -0
- package/dist/connection-token-resolver.d.ts +30 -1
- package/dist/database.d.ts +19 -0
- package/dist/editable-artifact-durable-export.d.ts +10 -0
- package/dist/editable-artifact-durable-export.js +18 -3
- package/dist/editable-artifact-durable-export.js.map +1 -1
- package/dist/editable-artifacts.d.ts +2 -2
- package/dist/editable-artifacts.js +3 -3
- package/dist/governed-learning-activation-schema.d.ts +984 -0
- package/dist/governed-learning-activation.d.ts +98 -0
- package/dist/governed-learning-evaluator-schema.d.ts +633 -0
- package/dist/governed-learning-evaluator.d.ts +28 -0
- package/dist/index.d.ts +1633 -87
- package/dist/index.js +22004 -8109
- package/dist/index.js.map +1 -1
- package/dist/insights.d.ts +18 -0
- package/dist/integration-bindings.d.ts +1 -0
- package/dist/integration-facets.d.ts +30 -0
- package/dist/interaction-placement-loss.d.ts +22 -0
- package/dist/knowledge-source-sync-schema.d.ts +730 -0
- package/dist/knowledge-source-sync.d.ts +60 -0
- package/dist/managed-human-provisioning.d.ts +25 -0
- package/dist/memory-domain.d.ts +3 -3
- package/dist/migrate.d.ts +11 -1
- package/dist/migrate.js +1 -1
- package/dist/new-session-drafts.d.ts +43 -5
- package/dist/organization-membership-backfill.d.ts +174 -0
- package/dist/organization-membership-lifecycle.d.ts +162 -0
- package/dist/pr-review.d.ts +107 -0
- package/dist/preference-registry-schema.d.ts +2 -0
- package/dist/preference-registry.d.ts +2 -0
- package/dist/provision-roles.js +1 -1
- package/dist/runtime-posture.d.ts +23 -9
- package/dist/schema.d.ts +24925 -13697
- package/dist/schema.js +103 -1
- package/dist/scoped-knowledge-schema.d.ts +52 -1
- package/dist/session-background-commands.d.ts +125 -0
- package/dist/session-background-commands.js +34 -0
- package/dist/session-background-commands.js.map +1 -0
- package/dist/session-control.d.ts +156 -3
- package/dist/session-goal-pacing.d.ts +68 -0
- package/dist/session-queue-commands.d.ts +42 -5
- package/dist/session-realtime-ledger.d.ts +3 -0
- package/dist/session-tenancy.d.ts +71 -1
- package/dist/session-tenancy.js +25 -3
- package/dist/session-tool-call-settlement.d.ts +9 -4
- package/dist/slack-routing-personal-workspace.d.ts +23 -0
- package/dist/slack-routing.d.ts +153 -0
- package/dist/slack-task-policy-schema.d.ts +34 -0
- package/dist/slack-task-policy.d.ts +8 -0
- package/dist/slack-user-link-access.d.ts +1 -0
- package/dist/task-notes-schema.d.ts +594 -0
- package/dist/task-notes.d.ts +39 -0
- package/dist/turn-initiator.d.ts +2 -0
- package/dist/user-resource-authority.d.ts +109 -0
- package/dist/video-generation.js +3 -3
- package/dist/workspace-authority.d.ts +81 -0
- package/dist/workspace-instruction-policies-schema.d.ts +279 -0
- package/dist/workspace-instruction-policies.d.ts +62 -0
- package/dist/workspace-learning-policy.d.ts +1 -0
- package/dist/workspace-membership-permissions.d.ts +2 -0
- package/drizzle/0240_enrollment_connection_authority.sql +39 -0
- package/drizzle/0240_model_context_user_messages.sql +204 -0
- package/drizzle/0241_atomic_personal_resource_delegation.sql +1000 -0
- package/drizzle/0241_enrollment_agent_runtime.sql +70 -0
- package/drizzle/0243_google_drive_object_acl_authority.sql +554 -0
- package/drizzle/0244_slack_app_home_refresh_queue.sql +120 -0
- package/drizzle/0245_model_context_contribution_facts.sql +88 -0
- package/drizzle/0246_integration_personal_instance_authority.sql +70 -0
- package/drizzle/0247_terraform_stacks_provenance_repair.sql +428 -0
- package/drizzle/0248_terraform_stacks_component_resolution_fence.sql +83 -0
- package/drizzle/0249_personal_resource_delegation_authority_correction.sql +662 -0
- package/drizzle/0250_direct_retained_process_owner_liveness.sql +199 -0
- package/drizzle/0251_connected_machine_operation_policy.sql +45 -0
- package/drizzle/0252_scheduled_personal_resource_delegation.sql +1867 -0
- package/drizzle/0253_common_user_resource_authority_lifecycle.sql +1555 -0
- package/drizzle/0254_scoped_variable_set_authority.sql +1255 -0
- package/drizzle/0255_company_brain_governed_write_proposals.sql +524 -0
- package/drizzle/0256_connection_authority_delegation.sql +703 -0
- package/drizzle/0257_goal_revision_decisions_and_root_constraints.sql +436 -0
- package/drizzle/0258_three_scope_document_knowledge_authority.sql +1273 -0
- package/drizzle/0259_company_brain_context_selection_receipts.sql +869 -0
- package/drizzle/0260_task_note_knowledge_promotion.sql +820 -0
- package/drizzle/0261_preference_knowledge_proposal_actor_binding.sql +471 -0
- package/drizzle/0262_scoped_connected_machines_and_rigs.sql +1700 -0
- package/drizzle/0263_organization_membership_lifecycle.sql +3284 -0
- package/drizzle/0264_connection_authority_runtime_activation.sql +1084 -0
- package/drizzle/0266_company_brain_context_receipt_inspection.sql +156 -0
- package/drizzle/0268_governed_learning_decision_receipts.sql +825 -0
- package/drizzle/0269_governed_learning_activation_controller.sql +1874 -0
- package/drizzle/0270_governed_learning_history_inspection.sql +170 -0
- package/drizzle/0271_company_brain_retrieval_only_default.sql +524 -0
- package/drizzle/0272_human_confirmed_learning_activation.sql +591 -0
- package/drizzle/0273_scheduled_variable_set_materialization.sql +268 -0
- package/drizzle/0274_human_confirmed_knowledge_review.sql +310 -0
- package/drizzle/0275_scheduled_connection_authority.sql +5527 -0
- package/drizzle/0276_onboarding_proposal_initiating_human_guc.sql +198 -0
- package/drizzle/0277_workspace_writer_authority_attribution.sql +393 -0
- package/drizzle/0278_workspace_membership_removal_fencing.sql +1174 -0
- package/drizzle/0279_workspace_connection_use_lane.sql +343 -0
- package/drizzle/0280_connection_and_variable_set_audit_attribution.sql +773 -0
- package/drizzle/0281_viewer_holder_authority_claims.sql +52 -0
- package/drizzle/0282_variable_set_session_attach_attribution.sql +178 -0
- package/drizzle/0283_editable_spreadsheet_authored_state.sql +82 -0
- package/drizzle/0284_truthful_human_confirmed_review_reason.sql +930 -0
- package/drizzle/0285_organization_tenancy_inventory.sql +329 -0
- package/drizzle/0286_widen_task_note_expiry_ceiling.sql +391 -0
- package/drizzle/0287_open_suffix_pending_tool_calls.sql +18 -0
- package/drizzle/0288_attached_browser_reenrollment.sql +64 -0
- package/drizzle/0289_session_composer_policy_authority.sql +597 -0
- package/drizzle/0290_organization_membership_backfill.sql +268 -0
- package/drizzle/0291_resource_authority_classification_assertion.sql +371 -0
- package/drizzle/0292_truthful_tenancy_inventory_counters.sql +291 -0
- package/drizzle/0293_confirm_time_rule_rebaseline.sql +615 -0
- package/drizzle/0294_preference_activation_authority.sql +237 -0
- package/drizzle/0295_retire_legacy_standing_memory_mode.sql +476 -0
- package/drizzle/0296_force_rls_backfill_noop_repair.sql +215 -0
- package/drizzle/0297_session_ownership_classification_and_backfill.sql +752 -0
- package/drizzle/0298_organization_tenancy_parity.sql +609 -0
- package/drizzle/0299_organization_membership_lock_order.sql +291 -0
- package/drizzle/0300_tenancy_backfill_ledger.sql +459 -0
- package/drizzle/0301_session_snapshot_and_pin_visibility.sql +181 -0
- package/drizzle/0302_personal_workspace_session_ownership.sql +303 -0
- package/drizzle/0303_session_tenancy_product_activation.sql +919 -0
- package/drizzle/0304_personal_workspace_private_session_reads.sql +97 -0
- package/drizzle/0305_personal_resource_grant_management.sql +584 -0
- package/drizzle/0306_atomic_personal_resource_attachments.sql +1374 -0
- package/drizzle/0307_session_attention_state.sql +51 -0
- package/drizzle/0308_session_archives.sql +35 -0
- package/drizzle/0309_channel_project_pins.sql +6 -0
- package/drizzle/0310_channel_project_order.sql +27 -0
- package/drizzle/0311_company_scope_and_private_session_create.sql +656 -0
- package/drizzle/0312_quiescent_session_tree_deletion.sql +39 -0
- package/drizzle/0313_private_child_session_authority.sql +365 -0
- package/drizzle/0314_unregistered_organization_invitations.sql +606 -0
- package/drizzle/0315_personal_github_repository_selection.sql +624 -0
- package/drizzle/0316_human_confirmed_activation_resumed_generation.sql +869 -0
- package/drizzle/0317_session_goal_continuation_hold.sql +64 -0
- package/drizzle/0318_session_turn_startup_milestones.sql +115 -0
- package/drizzle/0319_event_triggered_automations.sql +254 -0
- package/drizzle/0320_pr_review_pack.sql +113 -0
- package/drizzle/0321_slack_bot_environment_display_name.sql +15 -0
- package/drizzle/0322_session_turns_unclaimed_prompt_trigger_index.sql +5 -0
- package/drizzle/0323_organization_private_session_enablement.sql +489 -0
- package/drizzle/0324_human_confirmed_company_profile_agent_admin.sql +856 -0
- package/drizzle/0325_child_lifecycle_notices.sql +44 -0
- package/drizzle/0326_interaction_operation_error_codes.sql +62 -0
- package/drizzle/0327_slack_first_task_hint.sql +29 -0
- package/drizzle/0328_session_background_commands.sql +590 -0
- package/drizzle/0329_slack_orchestration_delivery_events.sql +91 -0
- package/drizzle/0330_api_key_descriptions.sql +20 -0
- package/drizzle/0331_managed_organization_creation.sql +163 -0
- package/drizzle/0332_organization_shared_workspace_control_plane.sql +539 -0
- package/drizzle/0333_session_turn_prompt_routing.sql +45 -0
- package/drizzle/0334_connected_machine_workspace_root.sql +99 -0
- package/drizzle/0335_slack_workspace_routing.sql +460 -0
- package/drizzle/0336_atomic_session_fork_visibility.sql +667 -0
- package/drizzle/0337_slack_routed_action_handles.sql +189 -0
- package/drizzle/0338_atomic_connected_machine_attachments.sql +410 -0
- package/drizzle/0339_document_authority_reclassification.sql +1153 -0
- package/drizzle/0340_tenancy_backfill_activation_evidence.sql +1347 -0
- package/drizzle/0341_slack_routing_probe_organization_fence.sql +109 -0
- package/package.json +10 -6
- package/src/attached-browser-devices.ts +233 -5
- package/src/automations.ts +911 -0
- package/src/browser-sessions.ts +10 -0
- package/src/capability-integrations.ts +175 -1
- package/src/child-lifecycle-notices.ts +241 -0
- package/src/codemode-operations.ts +1 -35
- package/src/company-brain-context-selection-schema.ts +100 -0
- package/src/company-brain-context-selection.ts +359 -0
- package/src/company-brain-governed-writes.ts +1170 -0
- package/src/company-brain.ts +309 -0
- package/src/company-profile-agent-admin.ts +225 -0
- package/src/company-profile-schema.ts +121 -1
- package/src/company-profile.ts +21 -0
- package/src/computer-sessions.ts +10 -1
- package/src/connection-authority.ts +290 -0
- package/src/connection-scopes.ts +20 -0
- package/src/connection-tenancy-backfill.ts +81 -0
- package/src/connection-token-resolver.ts +263 -31
- package/src/database.ts +75 -2
- package/src/editable-artifact-durable-export.ts +27 -0
- package/src/editable-artifacts-schema.ts +10 -5
- package/src/editable-artifacts.ts +21 -11
- package/src/governed-learning-activation-schema.ts +121 -0
- package/src/governed-learning-activation.ts +588 -0
- package/src/governed-learning-evaluator-schema.ts +72 -0
- package/src/governed-learning-evaluator.ts +217 -0
- package/src/index.ts +12001 -1699
- package/src/insights.ts +107 -0
- package/src/integration-bindings.ts +88 -6
- package/src/integration-facets.ts +287 -84
- package/src/interaction-placement-loss.ts +234 -0
- package/src/knowledge-source-sync-schema.ts +83 -0
- package/src/knowledge-source-sync.ts +530 -0
- package/src/managed-human-provisioning.ts +116 -0
- package/src/memory-domain.ts +27 -32
- package/src/migrate.ts +77 -1
- package/src/new-session-drafts.ts +229 -35
- package/src/organization-membership-backfill.ts +735 -0
- package/src/organization-membership-lifecycle.ts +985 -0
- package/src/pr-review.ts +890 -0
- package/src/preference-registry.ts +31 -1
- package/src/provision-roles.ts +931 -24
- package/src/runtime-posture-cli.ts +2 -0
- package/src/runtime-posture.ts +1315 -52
- package/src/schema.ts +3336 -438
- package/src/scoped-knowledge-schema.ts +16 -8
- package/src/scoped-knowledge.ts +1 -1
- package/src/session-background-commands.ts +759 -0
- package/src/session-control.ts +640 -74
- package/src/session-goal-pacing.ts +126 -0
- package/src/session-queue-commands.ts +450 -98
- package/src/session-realtime-context.ts +19 -3
- package/src/session-realtime-ledger.ts +75 -12
- package/src/session-realtime-mirror.ts +1 -1
- package/src/session-tenancy.ts +403 -49
- package/src/session-tool-call-settlement.ts +38 -29
- package/src/slack-routing-personal-workspace.ts +67 -0
- package/src/slack-routing.ts +469 -0
- package/src/slack-task-policy-schema.ts +5 -0
- package/src/slack-task-policy.ts +18 -0
- package/src/slack-user-link-access.ts +17 -1
- package/src/task-notes-schema.ts +74 -0
- package/src/task-notes.ts +124 -2
- package/src/turn-initiator.ts +8 -0
- package/src/user-resource-authority.ts +377 -0
- package/src/workspace-authority.ts +160 -0
- package/src/workspace-instruction-policies-schema.ts +53 -1
- package/src/workspace-instruction-policies.ts +528 -77
- package/src/workspace-learning-policy.ts +21 -5
- package/src/workspace-membership-permissions.ts +9 -0
- package/dist/chunk-5KTIEDX7.js.map +0 -1
- package/dist/chunk-FPVAD4CO.js +0 -117
- package/dist/chunk-FPVAD4CO.js.map +0 -1
- package/dist/chunk-HSOWSYOX.js.map +0 -1
- package/dist/chunk-SK7YYHBI.js.map +0 -1
- package/dist/chunk-VKLB2ZGI.js +0 -2389
- package/dist/chunk-VKLB2ZGI.js.map +0 -1
- package/dist/chunk-Z7VYMNPZ.js.map +0 -1
- /package/dist/{chunk-GYO7ED2Q.js.map → chunk-EULAN2NP.js.map} +0 -0
- /package/dist/{chunk-VTPRIXKG.js.map → chunk-NJVZPWXY.js.map} +0 -0
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { type Database } from "./database.js";
|
|
2
|
+
/** The installation binding's own tenancy: credential, identity, and inbox. */
|
|
3
|
+
export type SlackRouteHome = {
|
|
4
|
+
accountId: string;
|
|
5
|
+
workspaceId: string;
|
|
6
|
+
};
|
|
7
|
+
/** How a stored route was decided. `picker` is a human answering the Slack card. */
|
|
8
|
+
export type SlackRouteSource = "picker" | "admin";
|
|
9
|
+
export type SlackChannelRoute = {
|
|
10
|
+
id: string;
|
|
11
|
+
accountId: string;
|
|
12
|
+
workspaceId: string;
|
|
13
|
+
connectionId: string;
|
|
14
|
+
slackTeamId: string;
|
|
15
|
+
slackChannelId: string;
|
|
16
|
+
targetAccountId: string;
|
|
17
|
+
targetWorkspaceId: string;
|
|
18
|
+
decidedBySubjectId: string;
|
|
19
|
+
decidedBySlackUserId: string;
|
|
20
|
+
source: SlackRouteSource;
|
|
21
|
+
version: number;
|
|
22
|
+
createdAt: Date;
|
|
23
|
+
updatedAt: Date;
|
|
24
|
+
};
|
|
25
|
+
export type SlackUserDmRoute = Omit<SlackChannelRoute, "slackChannelId"> & {
|
|
26
|
+
slackUserId: string;
|
|
27
|
+
};
|
|
28
|
+
export type UpsertSlackChannelRouteInput = {
|
|
29
|
+
connectionId: string;
|
|
30
|
+
slackTeamId: string;
|
|
31
|
+
slackChannelId: string;
|
|
32
|
+
targetAccountId: string;
|
|
33
|
+
targetWorkspaceId: string;
|
|
34
|
+
decidedBySubjectId: string;
|
|
35
|
+
decidedBySlackUserId: string;
|
|
36
|
+
source: SlackRouteSource;
|
|
37
|
+
};
|
|
38
|
+
export type UpsertSlackUserDmRouteInput = Omit<UpsertSlackChannelRouteInput, "slackChannelId"> & {
|
|
39
|
+
slackUserId: string;
|
|
40
|
+
};
|
|
41
|
+
/** Ids only. Never content, never a subject. */
|
|
42
|
+
export type SlackInteractionTenancy = {
|
|
43
|
+
accountId: string;
|
|
44
|
+
workspaceId: string;
|
|
45
|
+
interactionId: string;
|
|
46
|
+
};
|
|
47
|
+
/** One workspace a Slack-linked subject may start work in. */
|
|
48
|
+
export type SlackRoutableWorkspace = {
|
|
49
|
+
accountId: string;
|
|
50
|
+
workspaceId: string;
|
|
51
|
+
label: string;
|
|
52
|
+
/** True for the subject's own personal workspace, which has no membership row. */
|
|
53
|
+
personal: boolean;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Resolve which tenancy owns the `slack_interactions` row for one exact
|
|
57
|
+
* connection-scoped route key, through the content-free SECURITY DEFINER probe.
|
|
58
|
+
*
|
|
59
|
+
* Thread continuation must cross workspaces: `slack_interactions_route_uq` is
|
|
60
|
+
* `(connection_id, route_key)` and therefore connection-global, while every
|
|
61
|
+
* ordinary interaction read is workspace-fenced and would miss a thread whose
|
|
62
|
+
* interaction lives in a routed workspace.
|
|
63
|
+
*
|
|
64
|
+
* This returns IDS ONLY. It cannot widen visibility, because the caller must
|
|
65
|
+
* re-read the full row under the returned tenancy's own RLS - which is what
|
|
66
|
+
* `getSlackInteractionById` already does.
|
|
67
|
+
*/
|
|
68
|
+
export declare function probeSlackInteractionTenancy(db: Database, input: {
|
|
69
|
+
accountId: string;
|
|
70
|
+
connectionId: string;
|
|
71
|
+
routeKey: string;
|
|
72
|
+
}): Promise<SlackInteractionTenancy | null>;
|
|
73
|
+
/**
|
|
74
|
+
* Which workspace owns one Slack action handle.
|
|
75
|
+
*
|
|
76
|
+
* A button click arrives on an inbox row that carries the installation's
|
|
77
|
+
* tenancy and names the handle only by id, while the handle lives in the
|
|
78
|
+
* workspace that owns its session. Content-free, ids only: the caller must
|
|
79
|
+
* re-read the full handle under the returned tenancy's own RLS, where every
|
|
80
|
+
* existing authorization check already lives.
|
|
81
|
+
*/
|
|
82
|
+
export declare function probeSlackActionHandleTenancy(db: Database, input: {
|
|
83
|
+
accountId: string;
|
|
84
|
+
connectionId: string;
|
|
85
|
+
handleId: string;
|
|
86
|
+
}): Promise<SlackRouteHome | null>;
|
|
87
|
+
export declare function getSlackChannelRoute(db: Database, home: SlackRouteHome, input: {
|
|
88
|
+
connectionId: string;
|
|
89
|
+
slackChannelId: string;
|
|
90
|
+
}): Promise<SlackChannelRoute | null>;
|
|
91
|
+
export declare function getSlackUserDmRoute(db: Database, home: SlackRouteHome, input: {
|
|
92
|
+
connectionId: string;
|
|
93
|
+
slackUserId: string;
|
|
94
|
+
}): Promise<SlackUserDmRoute | null>;
|
|
95
|
+
/**
|
|
96
|
+
* The ask-once memory for a channel. A repeat write for the same
|
|
97
|
+
* `(connectionId, slackChannelId)` re-points the channel and bumps `version`;
|
|
98
|
+
* it never creates a second row, so a channel always has exactly one answer.
|
|
99
|
+
*
|
|
100
|
+
* The caller is responsible for having authorized `target*` for the deciding
|
|
101
|
+
* subject through `resolveSlackTargetAuthority` first - a stored route is
|
|
102
|
+
* memory, never authority, and every later use re-authorizes it live.
|
|
103
|
+
*/
|
|
104
|
+
export declare function upsertSlackChannelRoute(db: Database, home: SlackRouteHome, input: UpsertSlackChannelRouteInput): Promise<SlackChannelRoute>;
|
|
105
|
+
/** The ask-once memory for one Slack human's direct messages. */
|
|
106
|
+
export declare function upsertSlackUserDmRoute(db: Database, home: SlackRouteHome, input: UpsertSlackUserDmRouteInput): Promise<SlackUserDmRoute>;
|
|
107
|
+
/** Clear a channel's stored answer; the next message asks again. */
|
|
108
|
+
export declare function deleteSlackChannelRoute(db: Database, home: SlackRouteHome, input: {
|
|
109
|
+
connectionId: string;
|
|
110
|
+
slackChannelId: string;
|
|
111
|
+
}): Promise<boolean>;
|
|
112
|
+
/** Clear one Slack human's stored DM answer; DMs fall back to the derived personal workspace. */
|
|
113
|
+
export declare function deleteSlackUserDmRoute(db: Database, home: SlackRouteHome, input: {
|
|
114
|
+
connectionId: string;
|
|
115
|
+
slackUserId: string;
|
|
116
|
+
}): Promise<boolean>;
|
|
117
|
+
/**
|
|
118
|
+
* THE workspaces one subject may start Slack work in, within one organization.
|
|
119
|
+
*
|
|
120
|
+
* This is deliberately one function so the "workspaces this subject may create
|
|
121
|
+
* sessions in" question has a single implementation that a future shared
|
|
122
|
+
* candidate-set contract can replace wholesale, rather than several call sites
|
|
123
|
+
* each re-deriving it slightly differently.
|
|
124
|
+
*
|
|
125
|
+
* Two independent sources, unioned:
|
|
126
|
+
*
|
|
127
|
+
* 1. `workspace_memberships` joined to `workspaces` in this account, filtered
|
|
128
|
+
* to memberships that actually permit starting work (`sessions:create`, or
|
|
129
|
+
* `workspace:admin` which implies it).
|
|
130
|
+
* 2. The subject's OWN personal workspace, from the active organization
|
|
131
|
+
* membership's `personalWorkspaceId` pointer.
|
|
132
|
+
*
|
|
133
|
+
* `listWorkspacesForSubject` is NOT usable here: it is a bare membership join
|
|
134
|
+
* with no permission filter, and it cannot see personal workspaces at all,
|
|
135
|
+
* because a managed human's personal workspace deliberately has no
|
|
136
|
+
* `workspace_memberships` row.
|
|
137
|
+
*
|
|
138
|
+
* The personal-workspace id is DERIVED from the membership pointer. It is never
|
|
139
|
+
* accepted from a Slack payload, a route row, or a caller argument.
|
|
140
|
+
*
|
|
141
|
+
* Ordered stably by label then workspace id, with plain code-unit comparison so
|
|
142
|
+
* two hosts with different ICU data cannot render a picker differently.
|
|
143
|
+
*
|
|
144
|
+
* ORACLE, NOT AN AUTHORIZATION. This answers "what could this named subject use"
|
|
145
|
+
* for whatever subject it is handed; it does not establish that the caller IS
|
|
146
|
+
* that subject. Pass only a subject authenticated out of band - for Slack, one
|
|
147
|
+
* named by a durable `slack_bot_user_links` row. Never pass a subject taken
|
|
148
|
+
* from a request payload.
|
|
149
|
+
*/
|
|
150
|
+
export declare function listNamedSubjectSlackRoutableWorkspaces(db: Database, input: {
|
|
151
|
+
accountId: string;
|
|
152
|
+
subjectId: string;
|
|
153
|
+
}): Promise<SlackRoutableWorkspace[]>;
|
|
@@ -772,6 +772,40 @@ export declare const slackSharedTaskOrigins: import("drizzle-orm/pg-core").PgTab
|
|
|
772
772
|
identity: undefined;
|
|
773
773
|
generated: undefined;
|
|
774
774
|
}, {}, {}>;
|
|
775
|
+
policyAccountId: import("drizzle-orm/pg-core").PgColumn<{
|
|
776
|
+
name: "policy_account_id";
|
|
777
|
+
tableName: "slack_shared_task_origins";
|
|
778
|
+
dataType: "string";
|
|
779
|
+
columnType: "PgUUID";
|
|
780
|
+
data: string;
|
|
781
|
+
driverParam: string;
|
|
782
|
+
notNull: false;
|
|
783
|
+
hasDefault: false;
|
|
784
|
+
isPrimaryKey: false;
|
|
785
|
+
isAutoincrement: false;
|
|
786
|
+
hasRuntimeDefault: false;
|
|
787
|
+
enumValues: undefined;
|
|
788
|
+
baseColumn: never;
|
|
789
|
+
identity: undefined;
|
|
790
|
+
generated: undefined;
|
|
791
|
+
}, {}, {}>;
|
|
792
|
+
policyWorkspaceId: import("drizzle-orm/pg-core").PgColumn<{
|
|
793
|
+
name: "policy_workspace_id";
|
|
794
|
+
tableName: "slack_shared_task_origins";
|
|
795
|
+
dataType: "string";
|
|
796
|
+
columnType: "PgUUID";
|
|
797
|
+
data: string;
|
|
798
|
+
driverParam: string;
|
|
799
|
+
notNull: false;
|
|
800
|
+
hasDefault: false;
|
|
801
|
+
isPrimaryKey: false;
|
|
802
|
+
isAutoincrement: false;
|
|
803
|
+
hasRuntimeDefault: false;
|
|
804
|
+
enumValues: undefined;
|
|
805
|
+
baseColumn: never;
|
|
806
|
+
identity: undefined;
|
|
807
|
+
generated: undefined;
|
|
808
|
+
}, {}, {}>;
|
|
775
809
|
policyHash: import("drizzle-orm/pg-core").PgColumn<{
|
|
776
810
|
name: "policy_hash";
|
|
777
811
|
tableName: "slack_shared_task_origins";
|
|
@@ -11,6 +11,14 @@ export type SlackSharedTaskOrigin = {
|
|
|
11
11
|
sourceThreadTs: string;
|
|
12
12
|
initiatingSlackUserId: string;
|
|
13
13
|
policyRevisionId: string;
|
|
14
|
+
/**
|
|
15
|
+
* Home tenancy of the frozen policy revision. The row's own
|
|
16
|
+
* `accountId`/`workspaceId` are the routed task's, which is a different
|
|
17
|
+
* workspace once Slack workspace routing is on. Null on rows written before
|
|
18
|
+
* routing existed, where the two were always equal.
|
|
19
|
+
*/
|
|
20
|
+
policyAccountId: string | null;
|
|
21
|
+
policyWorkspaceId: string | null;
|
|
14
22
|
policyHash: string;
|
|
15
23
|
policyActivationVersion: number;
|
|
16
24
|
publicationMode: "never" | "approval_required" | "allow";
|
|
@@ -52,3 +52,4 @@ export declare function completeSlackUserLinkAccessIfGranted(db: Database, input
|
|
|
52
52
|
subjectId: string;
|
|
53
53
|
}, now?: Date): Promise<SlackUserLinkAccessRequest | null>;
|
|
54
54
|
export declare function listPendingSlackUserLinkAccessRequests(db: Database, workspaceId: string, now?: Date): Promise<SlackUserLinkAccessRequest[]>;
|
|
55
|
+
export declare function workspaceMembershipPermissionsAllowSlackLink(value: unknown): boolean;
|