crewly 1.20.210 → 1.20.212
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/config/roles/orchestrator/prompt.md +1 -0
- package/config/skills/agent/core/app-data/SKILL.md +30 -1
- package/config/skills/agent/core/publish-app/SKILL.md +73 -6
- package/config/skills/agent/core/publish-app/execute.sh +125 -4
- package/config/skills/agent/core/publish-app/execute.test.sh +95 -4
- package/config/skills/agent/core/send-message/SKILL.md +9 -0
- package/config/skills/orchestrator/delegate-task/SKILL.md +9 -0
- package/config/skills/orchestrator/get-team-status/SKILL.md +9 -0
- package/config/skills/orchestrator/get-team-status/execute.sh +5 -1
- package/config/skills/orchestrator/send-message/SKILL.md +9 -0
- package/config/skills/orchestrator/start-agent/SKILL.md +9 -0
- package/config/skills/orchestrator/start-team/SKILL.md +9 -0
- package/config/skills/team-leader/assign-ticket/SKILL.md +9 -0
- package/config/skills/team-leader/delegate-task/SKILL.md +9 -0
- package/dist/backend/backend/src/constants.d.ts +78 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +78 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/apps/apps.controller.d.ts +17 -1
- package/dist/backend/backend/src/controllers/apps/apps.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/apps/apps.controller.js +45 -8
- package/dist/backend/backend/src/controllers/apps/apps.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/apps/apps.routes.d.ts +7 -0
- package/dist/backend/backend/src/controllers/apps/apps.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/apps/apps.routes.js +15 -1
- package/dist/backend/backend/src/controllers/apps/apps.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts +12 -0
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +36 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/request-types.d.ts +10 -1
- package/dist/backend/backend/src/controllers/request-types.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts +0 -36
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +41 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/team/team-pause.controller.d.ts +59 -0
- package/dist/backend/backend/src/controllers/team/team-pause.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/team/team-pause.controller.js +161 -0
- package/dist/backend/backend/src/controllers/team/team-pause.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/team/team.controller.d.ts +14 -0
- package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.js +78 -5
- package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.routes.js +7 -1
- package/dist/backend/backend/src/controllers/team/team.routes.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +18 -1
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/models/Team.d.ts +5 -1
- package/dist/backend/backend/src/models/Team.d.ts.map +1 -1
- package/dist/backend/backend/src/models/Team.js +8 -0
- package/dist/backend/backend/src/models/Team.js.map +1 -1
- package/dist/backend/backend/src/services/agent/owner-stopped.registry.d.ts +7 -2
- package/dist/backend/backend/src/services/agent/owner-stopped.registry.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/owner-stopped.registry.js +9 -3
- package/dist/backend/backend/src/services/agent/owner-stopped.registry.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +3 -2
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
- package/dist/backend/backend/src/services/apps/app-open-link.d.ts +61 -0
- package/dist/backend/backend/src/services/apps/app-open-link.d.ts.map +1 -0
- package/dist/backend/backend/src/services/apps/app-open-link.js +112 -0
- package/dist/backend/backend/src/services/apps/app-open-link.js.map +1 -0
- package/dist/backend/backend/src/services/apps/app-wake-message.d.ts +44 -3
- package/dist/backend/backend/src/services/apps/app-wake-message.d.ts.map +1 -1
- package/dist/backend/backend/src/services/apps/app-wake-message.js +99 -7
- package/dist/backend/backend/src/services/apps/app-wake-message.js.map +1 -1
- package/dist/backend/backend/src/services/apps/app-wake.service.d.ts +29 -2
- package/dist/backend/backend/src/services/apps/app-wake.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/apps/app-wake.service.js +151 -21
- package/dist/backend/backend/src/services/apps/app-wake.service.js.map +1 -1
- package/dist/backend/backend/src/services/apps/apps-registry.service.d.ts +18 -0
- package/dist/backend/backend/src/services/apps/apps-registry.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/apps/apps-registry.service.js +14 -0
- package/dist/backend/backend/src/services/apps/apps-registry.service.js.map +1 -1
- package/dist/backend/backend/src/services/apps/apps.service.d.ts +261 -12
- package/dist/backend/backend/src/services/apps/apps.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/apps/apps.service.js +387 -30
- package/dist/backend/backend/src/services/apps/apps.service.js.map +1 -1
- package/dist/backend/backend/src/services/apps/apps.wiring.d.ts +15 -1
- package/dist/backend/backend/src/services/apps/apps.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/apps/apps.wiring.js +27 -7
- package/dist/backend/backend/src/services/apps/apps.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +17 -5
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
- package/dist/backend/backend/src/services/core/logger.service.d.ts +5 -0
- package/dist/backend/backend/src/services/core/logger.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/core/logger.service.js +8 -0
- package/dist/backend/backend/src/services/core/logger.service.js.map +1 -1
- package/dist/backend/backend/src/services/core/storage.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/core/storage.service.js +6 -0
- package/dist/backend/backend/src/services/core/storage.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.wiring.js +6 -0
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.d.ts +12 -0
- package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.js +59 -0
- package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.js +12 -6
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.js.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +5 -0
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.js.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler.service.js +4 -0
- package/dist/backend/backend/src/services/reconciler/reconciler.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js +22 -0
- package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-channel-members.d.ts +27 -0
- package/dist/backend/backend/src/services/slack/slack-channel-members.d.ts.map +1 -0
- package/dist/backend/backend/src/services/slack/slack-channel-members.js +54 -0
- package/dist/backend/backend/src/services/slack/slack-channel-members.js.map +1 -0
- package/dist/backend/backend/src/services/slack/slack-directory.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-directory.service.js +7 -2
- package/dist/backend/backend/src/services/slack/slack-directory.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-initializer.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-initializer.js +3 -0
- package/dist/backend/backend/src/services/slack/slack-initializer.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +19 -0
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +48 -0
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +155 -4
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-thread-context.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-thread-context.service.js +3 -1
- package/dist/backend/backend/src/services/slack/slack-thread-context.service.js.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +11 -0
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js +36 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/backend/backend/src/services/task-pool/untargeted-router.d.ts.map +1 -1
- package/dist/backend/backend/src/services/task-pool/untargeted-router.js +14 -6
- package/dist/backend/backend/src/services/task-pool/untargeted-router.js.map +1 -1
- package/dist/backend/backend/src/services/team/team-pause-command.d.ts +97 -0
- package/dist/backend/backend/src/services/team/team-pause-command.d.ts.map +1 -0
- package/dist/backend/backend/src/services/team/team-pause-command.js +177 -0
- package/dist/backend/backend/src/services/team/team-pause-command.js.map +1 -0
- package/dist/backend/backend/src/services/team/team-pause-notice.d.ts +43 -0
- package/dist/backend/backend/src/services/team/team-pause-notice.d.ts.map +1 -0
- package/dist/backend/backend/src/services/team/team-pause-notice.js +61 -0
- package/dist/backend/backend/src/services/team/team-pause-notice.js.map +1 -0
- package/dist/backend/backend/src/services/team/team-pause.registry.d.ts +167 -0
- package/dist/backend/backend/src/services/team/team-pause.registry.d.ts.map +1 -0
- package/dist/backend/backend/src/services/team/team-pause.registry.js +263 -0
- package/dist/backend/backend/src/services/team/team-pause.registry.js.map +1 -0
- package/dist/backend/backend/src/services/team/team-pause.service.d.ts +172 -0
- package/dist/backend/backend/src/services/team/team-pause.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/team/team-pause.service.js +254 -0
- package/dist/backend/backend/src/services/team/team-pause.service.js.map +1 -0
- package/dist/backend/backend/src/services/team/team-pause.wiring.d.ts +30 -0
- package/dist/backend/backend/src/services/team/team-pause.wiring.d.ts.map +1 -0
- package/dist/backend/backend/src/services/team/team-pause.wiring.js +48 -0
- package/dist/backend/backend/src/services/team/team-pause.wiring.js.map +1 -0
- package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js +11 -0
- package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts +9 -0
- package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/trigger-engine.service.js +27 -2
- package/dist/backend/backend/src/services/v3/trigger-engine.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +7 -0
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
- package/dist/backend/backend/src/services/workflow/cron-task.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/workflow/cron-task.service.js +14 -0
- package/dist/backend/backend/src/services/workflow/cron-task.service.js.map +1 -1
- package/dist/backend/backend/src/services/workflow/message-scheduler.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/workflow/message-scheduler.service.js +5 -0
- package/dist/backend/backend/src/services/workflow/message-scheduler.service.js.map +1 -1
- package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/workflow/scheduler.service.js +6 -0
- package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -1
- package/dist/backend/backend/src/types/index.d.ts +22 -0
- package/dist/backend/backend/src/types/index.d.ts.map +1 -1
- package/dist/backend/backend/src/types/index.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +78 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +78 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/models/Team.d.ts +5 -1
- package/dist/cli/backend/src/models/Team.d.ts.map +1 -1
- package/dist/cli/backend/src/models/Team.js +8 -0
- package/dist/cli/backend/src/models/Team.js.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js +3 -2
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
- package/dist/cli/backend/src/services/apps/app-open-link.d.ts +61 -0
- package/dist/cli/backend/src/services/apps/app-open-link.d.ts.map +1 -0
- package/dist/cli/backend/src/services/apps/app-open-link.js +112 -0
- package/dist/cli/backend/src/services/apps/app-open-link.js.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +17 -5
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
- package/dist/cli/backend/src/services/core/logger.service.d.ts +5 -0
- package/dist/cli/backend/src/services/core/logger.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/core/logger.service.js +8 -0
- package/dist/cli/backend/src/services/core/logger.service.js.map +1 -1
- package/dist/cli/backend/src/services/core/storage.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/core/storage.service.js +6 -0
- package/dist/cli/backend/src/services/core/storage.service.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js +22 -0
- package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-directory.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-directory.service.js +7 -2
- package/dist/cli/backend/src/services/slack/slack-directory.service.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js +19 -0
- package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +48 -0
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +155 -4
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-thread-context.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-thread-context.service.js +3 -1
- package/dist/cli/backend/src/services/slack/slack-thread-context.service.js.map +1 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +11 -0
- package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js +36 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/cli/backend/src/services/team/team-pause-notice.d.ts +43 -0
- package/dist/cli/backend/src/services/team/team-pause-notice.d.ts.map +1 -0
- package/dist/cli/backend/src/services/team/team-pause-notice.js +61 -0
- package/dist/cli/backend/src/services/team/team-pause-notice.js.map +1 -0
- package/dist/cli/backend/src/services/team/team-pause.registry.d.ts +167 -0
- package/dist/cli/backend/src/services/team/team-pause.registry.d.ts.map +1 -0
- package/dist/cli/backend/src/services/team/team-pause.registry.js +263 -0
- package/dist/cli/backend/src/services/team/team-pause.registry.js.map +1 -0
- package/dist/cli/backend/src/services/workflow/cron-task.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/workflow/cron-task.service.js +14 -0
- package/dist/cli/backend/src/services/workflow/cron-task.service.js.map +1 -1
- package/dist/cli/backend/src/types/index.d.ts +22 -0
- package/dist/cli/backend/src/types/index.d.ts.map +1 -1
- package/dist/cli/backend/src/types/index.js.map +1 -1
- package/frontend/dist/assets/{index-f64b333a.js → index-917db1b8.js} +279 -279
- package/frontend/dist/index.html +1 -1
- package/package.json +1 -1
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { AppsCloudClient } from './apps-cloud.client.js';
|
|
11
11
|
import type { AppRegistryEntry, AppsRegistryService } from './apps-registry.service.js';
|
|
12
|
+
import { type OpenLinkInfo } from './app-open-link.js';
|
|
12
13
|
/** Cloud's view of an app (apps/SPEC.md §3.1). */
|
|
13
14
|
export interface CloudAppView {
|
|
14
15
|
appId: string;
|
|
@@ -17,6 +18,30 @@ export interface CloudAppView {
|
|
|
17
18
|
url: string;
|
|
18
19
|
currentVersion: number | null;
|
|
19
20
|
latestVersion: number;
|
|
21
|
+
/** P3: `private` unless the owner approved a public request in the shell */
|
|
22
|
+
visibility?: AppVisibility;
|
|
23
|
+
/** P3: collections anonymous visitors may read */
|
|
24
|
+
publicRead?: string[];
|
|
25
|
+
/** P3: collections anonymous visitors may add to (append-only) */
|
|
26
|
+
publicSubmit?: string[];
|
|
27
|
+
/** P3: a request waiting for the owner, or null */
|
|
28
|
+
publicRequest?: PublicRequestView | null;
|
|
29
|
+
}
|
|
30
|
+
/** Who can open an app without signing in (P3 §2). */
|
|
31
|
+
export type AppVisibility = 'private' | 'public';
|
|
32
|
+
/** A pending request to make an app public, as Cloud shows it. */
|
|
33
|
+
export interface PublicRequestView {
|
|
34
|
+
publicRead: string[];
|
|
35
|
+
publicSubmit: string[];
|
|
36
|
+
note: string | null;
|
|
37
|
+
requestedBy: string | null;
|
|
38
|
+
requestedAt: string | null;
|
|
39
|
+
}
|
|
40
|
+
/** What an agent asks to open to anonymous visitors. */
|
|
41
|
+
export interface PublicRequestInput {
|
|
42
|
+
publicRead?: unknown;
|
|
43
|
+
publicSubmit?: unknown;
|
|
44
|
+
note?: unknown;
|
|
20
45
|
}
|
|
21
46
|
/** Cloud's view of a version. */
|
|
22
47
|
export interface CloudVersionView {
|
|
@@ -43,31 +68,85 @@ export interface PublishInput {
|
|
|
43
68
|
entry?: unknown;
|
|
44
69
|
note?: unknown;
|
|
45
70
|
notify?: unknown;
|
|
71
|
+
/** P3: also ask the owner to make the app public */
|
|
72
|
+
publicRequest?: unknown;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* What posting the card did. Never the signed URL itself: agents get the
|
|
76
|
+
* plain URL only (P3 §1).
|
|
77
|
+
*/
|
|
78
|
+
export interface CardResult {
|
|
79
|
+
notified: boolean;
|
|
80
|
+
/** `signed` = the one-tap open-link card in the owner DM; `plain` = the plain URL */
|
|
81
|
+
card?: 'signed' | 'plain';
|
|
82
|
+
/** Where it went: the agent's owner DM, or wherever its conversation with the owner is */
|
|
83
|
+
cardPlace?: 'owner-dm' | 'conversation';
|
|
84
|
+
/** The minted link (for `--revoke-link`); not a secret */
|
|
85
|
+
linkId?: string;
|
|
86
|
+
linkExpiresAt?: string;
|
|
87
|
+
notifyError?: string;
|
|
88
|
+
/** Why the card carries the plain URL instead of a signed link */
|
|
89
|
+
linkError?: string;
|
|
46
90
|
}
|
|
47
91
|
/** Result of a publish. */
|
|
48
|
-
export interface PublishResult {
|
|
92
|
+
export interface PublishResult extends CardResult {
|
|
49
93
|
appId: string;
|
|
50
94
|
name: string;
|
|
51
95
|
url: string;
|
|
52
96
|
version: number;
|
|
53
97
|
created: boolean;
|
|
54
|
-
|
|
55
|
-
|
|
98
|
+
/** P3: the public request was recorded (the owner still has to approve it) */
|
|
99
|
+
publicRequested?: boolean;
|
|
100
|
+
publicError?: string;
|
|
101
|
+
/** The app was public; this version made it private until the owner re-approves (crewly-services #33) */
|
|
102
|
+
publicPaused?: boolean;
|
|
103
|
+
publicPausedMessage?: string;
|
|
104
|
+
}
|
|
105
|
+
/** Result of {@link AppsService.share}. */
|
|
106
|
+
export interface ShareResult extends CardResult {
|
|
107
|
+
appId: string;
|
|
108
|
+
name: string;
|
|
109
|
+
url: string;
|
|
110
|
+
visibility: AppVisibility;
|
|
111
|
+
publicRequestPending: boolean;
|
|
112
|
+
}
|
|
113
|
+
/** Result of a public request. */
|
|
114
|
+
export interface PublicRequestResult extends CardResult {
|
|
115
|
+
appId: string;
|
|
116
|
+
url: string;
|
|
117
|
+
visibility: AppVisibility;
|
|
118
|
+
publicRequest: PublicRequestView | null;
|
|
119
|
+
message: string;
|
|
56
120
|
}
|
|
57
121
|
/** Who is calling: an agent session, or the owner (no session). */
|
|
58
122
|
export interface AppsCaller {
|
|
59
123
|
agentSession?: string;
|
|
60
124
|
}
|
|
61
|
-
/**
|
|
62
|
-
export
|
|
125
|
+
/** Outcome of posting a card. */
|
|
126
|
+
export interface CardPostResult {
|
|
63
127
|
ok: boolean;
|
|
64
128
|
error?: string;
|
|
65
|
-
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Where the "Open app" card can go (P3 §1, destination rule).
|
|
132
|
+
*
|
|
133
|
+
* The signed card goes ONLY to `ownerDm` — the one place that is owner-only
|
|
134
|
+
* by construction. The plain card goes where the agent talks with the owner
|
|
135
|
+
* (the `reply` resolver), as in P2.
|
|
136
|
+
*/
|
|
137
|
+
export interface AppCardPoster {
|
|
138
|
+
/** The agent's DM with the owner (chat-v2 conversation id), or null when it has none */
|
|
139
|
+
ownerDm(agentSession: string): Promise<string | null>;
|
|
140
|
+
/** Post into exactly that DM conversation; never anywhere else */
|
|
141
|
+
postToOwnerDm(agentSession: string, conversationId: string, text: string): Promise<CardPostResult>;
|
|
142
|
+
/** Post where the agent's conversation with the owner is (P2 path) */
|
|
143
|
+
postReply(agentSession: string, text: string): Promise<CardPostResult>;
|
|
144
|
+
}
|
|
66
145
|
/** Constructor dependencies. */
|
|
67
146
|
export interface AppsServiceDeps {
|
|
68
147
|
client: AppsCloudClient;
|
|
69
148
|
registry: AppsRegistryService;
|
|
70
|
-
|
|
149
|
+
cards?: AppCardPoster;
|
|
71
150
|
/** Whether two agent sessions are in the same team (data access for the publisher's team) */
|
|
72
151
|
sameTeam?: (a: string, b: string) => Promise<boolean>;
|
|
73
152
|
}
|
|
@@ -79,15 +158,76 @@ export interface AppsServiceDeps {
|
|
|
79
158
|
* @throws AppsCloudError validation
|
|
80
159
|
*/
|
|
81
160
|
export declare function requireAppId(appId: unknown): string;
|
|
161
|
+
/**
|
|
162
|
+
* The app's plain URL (what agents see; opens the sign-in page without a session).
|
|
163
|
+
*
|
|
164
|
+
* @param appId - App id
|
|
165
|
+
* @returns URL
|
|
166
|
+
*/
|
|
167
|
+
export declare function plainAppUrl(appId: string): string;
|
|
82
168
|
/**
|
|
83
169
|
* The "📱 <name> · Open app" card text. Markdown link: the reply path turns
|
|
84
|
-
* it into a Slack link.
|
|
170
|
+
* it into a Slack link. A pending public request adds one line asking the
|
|
171
|
+
* owner to approve or decline it in the app.
|
|
85
172
|
*
|
|
86
173
|
* @param name - App name
|
|
87
|
-
* @param
|
|
174
|
+
* @param url - The link (signed or plain)
|
|
175
|
+
* @param pending - The app's pending public request, if any
|
|
88
176
|
* @returns Card text
|
|
89
177
|
*/
|
|
90
|
-
export declare function appCardText(name: string,
|
|
178
|
+
export declare function appCardText(name: string, url: string, pending?: PublicRequestView | null): string;
|
|
179
|
+
/**
|
|
180
|
+
* Check a list of collection names for a public request.
|
|
181
|
+
*
|
|
182
|
+
* @param v - Candidate (array of names, or a comma-separated string)
|
|
183
|
+
* @param what - Field name for the message
|
|
184
|
+
* @returns Unique names
|
|
185
|
+
* @throws AppsCloudError validation
|
|
186
|
+
*/
|
|
187
|
+
export declare function requireCollectionList(v: unknown, what: string): string[];
|
|
188
|
+
/**
|
|
189
|
+
* Check a public request body.
|
|
190
|
+
*
|
|
191
|
+
* @param input - `{ publicRead?, publicSubmit?, note? }`
|
|
192
|
+
* @returns The body Cloud gets
|
|
193
|
+
* @throws AppsCloudError validation
|
|
194
|
+
*/
|
|
195
|
+
export declare function validatePublicRequest(input: unknown): {
|
|
196
|
+
publicRead: string[];
|
|
197
|
+
publicSubmit: string[];
|
|
198
|
+
note?: string;
|
|
199
|
+
};
|
|
200
|
+
/**
|
|
201
|
+
* Check a link lifetime.
|
|
202
|
+
*
|
|
203
|
+
* @param v - Days (number or numeric string), or empty for Cloud's default
|
|
204
|
+
* @returns Days, or undefined
|
|
205
|
+
* @throws AppsCloudError validation
|
|
206
|
+
*/
|
|
207
|
+
export declare function requireTtlDays(v: unknown): number | undefined;
|
|
208
|
+
/** The message every public request answers with: only the owner can approve it. */
|
|
209
|
+
export declare const PUBLIC_REQUEST_MESSAGE = "Requested: the owner approves it by opening the app. Until then the app stays private; no agent can make it public.";
|
|
210
|
+
/**
|
|
211
|
+
* Said when publishing or rolling back a public app took it private again
|
|
212
|
+
* (crewly-services #33: every new current version of a public app needs the
|
|
213
|
+
* owner's re-approval).
|
|
214
|
+
*/
|
|
215
|
+
export declare const PUBLIC_PAUSED_MESSAGE = "This app was public. Publishing or rolling back a public app makes it private again until the owner re-approves it in the app (they sign in with Google there to approve). Tell the owner; do not say it is public.";
|
|
216
|
+
/**
|
|
217
|
+
* The first word Cloud refuses in a public app's name, if any
|
|
218
|
+
* (crewly-services #33; {@link CREWLY_APPS_CONSTANTS.PUBLIC_REQUEST}.BLOCKED_NAME_WORDS).
|
|
219
|
+
*
|
|
220
|
+
* @param name - App name
|
|
221
|
+
* @returns The blocked word found, or null
|
|
222
|
+
*/
|
|
223
|
+
export declare function blockedPublicNameWord(name: string): string | null;
|
|
224
|
+
/**
|
|
225
|
+
* Refuse a public request for an app whose name Cloud would refuse at approval.
|
|
226
|
+
*
|
|
227
|
+
* @param name - App name
|
|
228
|
+
* @throws AppsCloudError validation naming the word
|
|
229
|
+
*/
|
|
230
|
+
export declare function assertPublicName(name: string): void;
|
|
91
231
|
/**
|
|
92
232
|
* Publishing and data access for Crewly Apps.
|
|
93
233
|
*/
|
|
@@ -104,6 +244,98 @@ export declare class AppsService {
|
|
|
104
244
|
* @throws AppsCloudError on validation or a Cloud failure
|
|
105
245
|
*/
|
|
106
246
|
publish(input: PublishInput, caller: AppsCaller): Promise<PublishResult>;
|
|
247
|
+
/**
|
|
248
|
+
* Post the "Open app" card for the owner.
|
|
249
|
+
*
|
|
250
|
+
* Destination rule (P3 §1): when the agent has a DM with the owner, a
|
|
251
|
+
* fresh signed link is minted and the card goes to that DM only — never
|
|
252
|
+
* to a room, a team channel or a shared room, wherever the conversation
|
|
253
|
+
* happens to be. Without a DM, or when minting or the DM post fails, the
|
|
254
|
+
* card carries the plain URL and goes where the agent talks with the owner
|
|
255
|
+
* (P2). The signed URL is never returned.
|
|
256
|
+
*
|
|
257
|
+
* @param app - App id, name and its pending public request
|
|
258
|
+
* @param caller - Agent or owner
|
|
259
|
+
* @param publisher - The app's recorded agent (posts the card for an owner call)
|
|
260
|
+
* @param ttlDays - Link lifetime (Cloud's default when omitted)
|
|
261
|
+
* @returns What was posted, without the URL
|
|
262
|
+
*/
|
|
263
|
+
private sendCard;
|
|
264
|
+
/**
|
|
265
|
+
* Post the card again with a fresh signed link, without publishing (P3 §1, re-share).
|
|
266
|
+
*
|
|
267
|
+
* @param appId - App id
|
|
268
|
+
* @param opts - `ttlDays` (1-30, Cloud's default 7)
|
|
269
|
+
* @param caller - Agent (its own apps) or owner (any; posts as the recorded agent)
|
|
270
|
+
* @returns What was posted; never the signed URL
|
|
271
|
+
*/
|
|
272
|
+
share(appId: unknown, opts: {
|
|
273
|
+
ttlDays?: unknown;
|
|
274
|
+
}, caller: AppsCaller): Promise<ShareResult>;
|
|
275
|
+
/**
|
|
276
|
+
* The app's open-links (no tokens).
|
|
277
|
+
*
|
|
278
|
+
* @param appId - App id
|
|
279
|
+
* @param caller - Agent (its own apps) or owner
|
|
280
|
+
* @returns Links, newest as Cloud orders them
|
|
281
|
+
*/
|
|
282
|
+
links(appId: unknown, caller: AppsCaller): Promise<OpenLinkInfo[]>;
|
|
283
|
+
/**
|
|
284
|
+
* Revoke one open-link.
|
|
285
|
+
*
|
|
286
|
+
* @param appId - App id
|
|
287
|
+
* @param linkId - Link id
|
|
288
|
+
* @param caller - Agent (its own apps) or owner
|
|
289
|
+
* @returns `{ revoked: true }`; 404 not_found for an unknown link
|
|
290
|
+
*/
|
|
291
|
+
revokeLink(appId: unknown, linkId: unknown, caller: AppsCaller): Promise<{
|
|
292
|
+
revoked: boolean;
|
|
293
|
+
}>;
|
|
294
|
+
/**
|
|
295
|
+
* Revoke every open-link of an app.
|
|
296
|
+
*
|
|
297
|
+
* @param appId - App id
|
|
298
|
+
* @param caller - Agent (its own apps) or owner
|
|
299
|
+
* @returns `{ revoked: <count> }`
|
|
300
|
+
*/
|
|
301
|
+
revokeLinks(appId: unknown, caller: AppsCaller): Promise<{
|
|
302
|
+
revoked: number;
|
|
303
|
+
}>;
|
|
304
|
+
/**
|
|
305
|
+
* Ask the owner to make an app public (P3 §2). Only records the request:
|
|
306
|
+
* Cloud flips visibility only from the owner's own session in the apps
|
|
307
|
+
* shell, so nothing here can make an app public. An agent's request also
|
|
308
|
+
* posts the card, which tells the owner to approve or decline it.
|
|
309
|
+
*
|
|
310
|
+
* @param appId - App id
|
|
311
|
+
* @param input - Collections to open for reading / anonymous submissions, and a note
|
|
312
|
+
* @param caller - Agent (its own apps) or owner
|
|
313
|
+
* @returns The recorded request and the card result
|
|
314
|
+
*/
|
|
315
|
+
requestPublic(appId: unknown, input: unknown, caller: AppsCaller): Promise<PublicRequestResult>;
|
|
316
|
+
/**
|
|
317
|
+
* Withdraw a pending public request.
|
|
318
|
+
*
|
|
319
|
+
* @param appId - App id
|
|
320
|
+
* @param caller - Agent (its own apps) or owner
|
|
321
|
+
* @returns Cloud's answer
|
|
322
|
+
*/
|
|
323
|
+
cancelPublicRequest(appId: unknown, caller: AppsCaller): Promise<{
|
|
324
|
+
appId: string;
|
|
325
|
+
cancelled: true;
|
|
326
|
+
visibility: AppVisibility;
|
|
327
|
+
}>;
|
|
328
|
+
/**
|
|
329
|
+
* Make an app private again (instant; always allowed).
|
|
330
|
+
*
|
|
331
|
+
* @param appId - App id
|
|
332
|
+
* @param caller - Agent (its own apps) or owner
|
|
333
|
+
* @returns `{ visibility: 'private' }`
|
|
334
|
+
*/
|
|
335
|
+
makePrivate(appId: unknown, caller: AppsCaller): Promise<{
|
|
336
|
+
appId: string;
|
|
337
|
+
visibility: AppVisibility;
|
|
338
|
+
}>;
|
|
107
339
|
/**
|
|
108
340
|
* Make an earlier retained version current.
|
|
109
341
|
*
|
|
@@ -112,7 +344,10 @@ export declare class AppsService {
|
|
|
112
344
|
* @param caller - Agent or owner
|
|
113
345
|
* @returns The app after rollback
|
|
114
346
|
*/
|
|
115
|
-
rollback(appId: unknown, version: unknown, caller: AppsCaller): Promise<CloudAppView
|
|
347
|
+
rollback(appId: unknown, version: unknown, caller: AppsCaller): Promise<CloudAppView & {
|
|
348
|
+
publicPaused?: boolean;
|
|
349
|
+
publicPausedMessage?: string;
|
|
350
|
+
}>;
|
|
116
351
|
/**
|
|
117
352
|
* Versions of an app, newest first.
|
|
118
353
|
*
|
|
@@ -144,7 +379,7 @@ export declare class AppsService {
|
|
|
144
379
|
*
|
|
145
380
|
* @returns Entries without the poller cursor
|
|
146
381
|
*/
|
|
147
|
-
list(caller?: AppsCaller): Promise<Array<Omit<AppRegistryEntry, 'cursor' | 'delivered' | 'wakes'>>>;
|
|
382
|
+
list(caller?: AppsCaller): Promise<Array<Omit<AppRegistryEntry, 'cursor' | 'delivered' | 'wakes' | 'visitorWakes'>>>;
|
|
148
383
|
/**
|
|
149
384
|
* One page of a collection.
|
|
150
385
|
*
|
|
@@ -211,6 +446,20 @@ export declare class AppsService {
|
|
|
211
446
|
* @returns `{ deleted: true }`
|
|
212
447
|
*/
|
|
213
448
|
deleteDoc(appId: unknown, collection: unknown, docId: unknown, caller: AppsCaller): Promise<unknown>;
|
|
449
|
+
/**
|
|
450
|
+
* A Cloud data call whose answer is sanitised before it leaves the backend
|
|
451
|
+
* (P3 §4): documents were written by the owner, other agents or anonymous
|
|
452
|
+
* visitors, and an agent prints them into its terminal, where harness
|
|
453
|
+
* markers (`[CHAT_RESPONSE]`, `[DONE]`, fenced blocks), ANSI escapes or
|
|
454
|
+
* bidi characters would act. Every string value and key is cleaned; the
|
|
455
|
+
* structure is kept. Done here, not in the skill, so no caller bypasses it.
|
|
456
|
+
*
|
|
457
|
+
* @param method - HTTP method
|
|
458
|
+
* @param path - Cloud path
|
|
459
|
+
* @param opts - Request options
|
|
460
|
+
* @returns The display-safe answer
|
|
461
|
+
*/
|
|
462
|
+
private dataRequest;
|
|
214
463
|
private docPath;
|
|
215
464
|
private validateFiles;
|
|
216
465
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apps.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/apps/apps.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"apps.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/apps/apps.service.ts"],"names":[],"mappings":"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"}
|