@useactor/core 0.1.0 → 0.2.3
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/auth/google-auth.d.ts +75 -0
- package/dist/auth/google-auth.d.ts.map +1 -0
- package/dist/auth/google-auth.js +447 -0
- package/dist/auth/google-auth.js.map +1 -0
- package/dist/auth/oauth-callback-page.d.ts +4 -0
- package/dist/auth/oauth-callback-page.d.ts.map +1 -0
- package/dist/auth/oauth-callback-page.js +131 -0
- package/dist/auth/oauth-callback-page.js.map +1 -0
- package/dist/auth/openai-auth.d.ts +48 -0
- package/dist/auth/openai-auth.d.ts.map +1 -0
- package/dist/auth/openai-auth.js +350 -0
- package/dist/auth/openai-auth.js.map +1 -0
- package/dist/{artifacts.d.ts → events/artifacts.d.ts} +1 -1
- package/dist/events/artifacts.d.ts.map +1 -0
- package/dist/events/artifacts.js.map +1 -0
- package/dist/{events.d.ts → events/events.d.ts} +16 -2
- package/dist/events/events.d.ts.map +1 -0
- package/dist/{events.js → events/events.js} +3 -0
- package/dist/events/events.js.map +1 -0
- package/dist/{feedback.d.ts → events/feedback.d.ts} +1 -1
- package/dist/events/feedback.d.ts.map +1 -0
- package/dist/events/feedback.js.map +1 -0
- package/dist/{local-event-logger.d.ts → events/local-event-logger.d.ts} +1 -1
- package/dist/events/local-event-logger.d.ts.map +1 -0
- package/dist/{local-event-logger.js → events/local-event-logger.js} +11 -0
- package/dist/events/local-event-logger.js.map +1 -0
- package/dist/{local-event-schema.d.ts → events/local-event-schema.d.ts} +10 -3
- package/dist/events/local-event-schema.d.ts.map +1 -0
- package/dist/events/local-event-schema.js.map +1 -0
- package/dist/index.d.ts +59 -35
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +59 -35
- package/dist/index.js.map +1 -1
- package/dist/integrations/built-in-integrations.d.ts +2 -0
- package/dist/integrations/built-in-integrations.d.ts.map +1 -0
- package/dist/integrations/built-in-integrations.js +2 -0
- package/dist/integrations/built-in-integrations.js.map +1 -0
- package/dist/integrations/first-party-cli-integration.d.ts +2 -0
- package/dist/integrations/first-party-cli-integration.d.ts.map +1 -0
- package/dist/integrations/first-party-cli-integration.js +2 -0
- package/dist/integrations/first-party-cli-integration.js.map +1 -0
- package/dist/integrations/google-workspace-integration.d.ts +2 -0
- package/dist/integrations/google-workspace-integration.d.ts.map +1 -0
- package/dist/integrations/google-workspace-integration.js +2 -0
- package/dist/integrations/google-workspace-integration.js.map +1 -0
- package/dist/integrations/integrations.d.ts +2 -0
- package/dist/integrations/integrations.d.ts.map +1 -0
- package/dist/integrations/integrations.js +2 -0
- package/dist/integrations/integrations.js.map +1 -0
- package/dist/integrations/monoid-integration.d.ts +2 -0
- package/dist/integrations/monoid-integration.d.ts.map +1 -0
- package/dist/integrations/monoid-integration.js +2 -0
- package/dist/integrations/monoid-integration.js.map +1 -0
- package/dist/integrations/pilfer-integration.d.ts +2 -0
- package/dist/integrations/pilfer-integration.d.ts.map +1 -0
- package/dist/integrations/pilfer-integration.js +2 -0
- package/dist/integrations/pilfer-integration.js.map +1 -0
- package/dist/integrations/wyrdos-integration.d.ts +2 -0
- package/dist/integrations/wyrdos-integration.d.ts.map +1 -0
- package/dist/integrations/wyrdos-integration.js +2 -0
- package/dist/integrations/wyrdos-integration.js.map +1 -0
- package/dist/keybindings/shell-keybindings.d.ts +139 -0
- package/dist/keybindings/shell-keybindings.d.ts.map +1 -0
- package/dist/keybindings/shell-keybindings.js +453 -0
- package/dist/keybindings/shell-keybindings.js.map +1 -0
- package/dist/plugins/built-in-integrations.d.ts +3 -0
- package/dist/plugins/built-in-integrations.d.ts.map +1 -0
- package/dist/plugins/built-in-integrations.js +13 -0
- package/dist/plugins/built-in-integrations.js.map +1 -0
- package/dist/plugins/first-party-cli-integration.d.ts +62 -0
- package/dist/plugins/first-party-cli-integration.d.ts.map +1 -0
- package/dist/plugins/first-party-cli-integration.js +524 -0
- package/dist/plugins/first-party-cli-integration.js.map +1 -0
- package/dist/plugins/google-docs.d.ts +30 -0
- package/dist/plugins/google-docs.d.ts.map +1 -0
- package/dist/plugins/google-docs.js +487 -0
- package/dist/plugins/google-docs.js.map +1 -0
- package/dist/plugins/google-drive.d.ts +84 -0
- package/dist/plugins/google-drive.d.ts.map +1 -0
- package/dist/plugins/google-drive.js +307 -0
- package/dist/plugins/google-drive.js.map +1 -0
- package/dist/plugins/google-sheets.d.ts +122 -0
- package/dist/plugins/google-sheets.d.ts.map +1 -0
- package/dist/plugins/google-sheets.js +290 -0
- package/dist/plugins/google-sheets.js.map +1 -0
- package/dist/plugins/google-slides.d.ts +125 -0
- package/dist/plugins/google-slides.d.ts.map +1 -0
- package/dist/plugins/google-slides.js +285 -0
- package/dist/plugins/google-slides.js.map +1 -0
- package/dist/plugins/google-workspace-api.d.ts +16 -0
- package/dist/plugins/google-workspace-api.d.ts.map +1 -0
- package/dist/plugins/google-workspace-api.js +42 -0
- package/dist/plugins/google-workspace-api.js.map +1 -0
- package/dist/plugins/google-workspace-integration.d.ts +22 -0
- package/dist/plugins/google-workspace-integration.d.ts.map +1 -0
- package/dist/plugins/google-workspace-integration.js +1353 -0
- package/dist/plugins/google-workspace-integration.js.map +1 -0
- package/dist/plugins/google-workspace-oauth.d.ts +80 -0
- package/dist/plugins/google-workspace-oauth.d.ts.map +1 -0
- package/dist/plugins/google-workspace-oauth.js +187 -0
- package/dist/plugins/google-workspace-oauth.js.map +1 -0
- package/dist/plugins/monoid-integration.d.ts +11 -0
- package/dist/plugins/monoid-integration.d.ts.map +1 -0
- package/dist/plugins/monoid-integration.js +14 -0
- package/dist/plugins/monoid-integration.js.map +1 -0
- package/dist/plugins/pilfer-integration.d.ts +10 -0
- package/dist/plugins/pilfer-integration.d.ts.map +1 -0
- package/dist/plugins/pilfer-integration.js +13 -0
- package/dist/plugins/pilfer-integration.js.map +1 -0
- package/dist/plugins/plugins.d.ts +78 -0
- package/dist/plugins/plugins.d.ts.map +1 -0
- package/dist/plugins/plugins.js +81 -0
- package/dist/plugins/plugins.js.map +1 -0
- package/dist/plugins/wyrdos-integration.d.ts +11 -0
- package/dist/plugins/wyrdos-integration.d.ts.map +1 -0
- package/dist/plugins/wyrdos-integration.js +14 -0
- package/dist/plugins/wyrdos-integration.js.map +1 -0
- package/dist/{ai-sdk-provider.d.ts → providers/ai-sdk-provider.d.ts} +2 -2
- package/dist/providers/ai-sdk-provider.d.ts.map +1 -0
- package/dist/{ai-sdk-provider.js → providers/ai-sdk-provider.js} +132 -37
- package/dist/providers/ai-sdk-provider.js.map +1 -0
- package/dist/providers/api-key-providers.d.ts +25 -0
- package/dist/providers/api-key-providers.d.ts.map +1 -0
- package/dist/providers/api-key-providers.js +67 -0
- package/dist/providers/api-key-providers.js.map +1 -0
- package/dist/providers/definitions/anthropic-provider.d.ts +421 -0
- package/dist/providers/definitions/anthropic-provider.d.ts.map +1 -0
- package/dist/providers/definitions/anthropic-provider.js +204 -0
- package/dist/providers/definitions/anthropic-provider.js.map +1 -0
- package/dist/{codex-oauth-provider.d.ts → providers/definitions/codex-oauth-provider.d.ts} +2 -2
- package/dist/providers/definitions/codex-oauth-provider.d.ts.map +1 -0
- package/dist/{codex-oauth-provider.js → providers/definitions/codex-oauth-provider.js} +1 -1
- package/dist/providers/definitions/codex-oauth-provider.js.map +1 -0
- package/dist/providers/definitions/deepseek-provider.d.ts +25 -0
- package/dist/providers/definitions/deepseek-provider.d.ts.map +1 -0
- package/dist/providers/definitions/deepseek-provider.js +28 -0
- package/dist/providers/definitions/deepseek-provider.js.map +1 -0
- package/dist/providers/definitions/google-ai-oauth.d.ts +79 -0
- package/dist/providers/definitions/google-ai-oauth.d.ts.map +1 -0
- package/dist/providers/definitions/google-ai-oauth.js +177 -0
- package/dist/providers/definitions/google-ai-oauth.js.map +1 -0
- package/dist/providers/definitions/google-provider.d.ts +166 -0
- package/dist/providers/definitions/google-provider.d.ts.map +1 -0
- package/dist/providers/definitions/google-provider.js +93 -0
- package/dist/providers/definitions/google-provider.js.map +1 -0
- package/dist/providers/definitions/moonshot-provider.d.ts +28 -0
- package/dist/providers/definitions/moonshot-provider.d.ts.map +1 -0
- package/dist/providers/definitions/moonshot-provider.js +34 -0
- package/dist/providers/definitions/moonshot-provider.js.map +1 -0
- package/dist/{openai-oauth.d.ts → providers/definitions/openai-oauth.d.ts} +1 -1
- package/dist/providers/definitions/openai-oauth.d.ts.map +1 -0
- package/dist/providers/definitions/openai-oauth.js.map +1 -0
- package/dist/providers/definitions/openai-provider.d.ts +177 -0
- package/dist/providers/definitions/openai-provider.d.ts.map +1 -0
- package/dist/{model-catalog.js → providers/definitions/openai-provider.js} +33 -21
- package/dist/providers/definitions/openai-provider.js.map +1 -0
- package/dist/providers/definitions/perplexity-provider.d.ts +34 -0
- package/dist/providers/definitions/perplexity-provider.d.ts.map +1 -0
- package/dist/providers/definitions/perplexity-provider.js +46 -0
- package/dist/providers/definitions/perplexity-provider.js.map +1 -0
- package/dist/providers/definitions/xai-provider.d.ts +68 -0
- package/dist/providers/definitions/xai-provider.d.ts.map +1 -0
- package/dist/providers/definitions/xai-provider.js +102 -0
- package/dist/providers/definitions/xai-provider.js.map +1 -0
- package/dist/{mock-provider.d.ts → providers/mock-provider.d.ts} +1 -1
- package/dist/providers/mock-provider.d.ts.map +1 -0
- package/dist/providers/mock-provider.js.map +1 -0
- package/dist/{model-catalog.d.ts → providers/model-catalog.d.ts} +2 -2
- package/dist/providers/model-catalog.d.ts.map +1 -0
- package/dist/providers/model-catalog.js +31 -0
- package/dist/providers/model-catalog.js.map +1 -0
- package/dist/providers/provider-failures.d.ts +14 -0
- package/dist/providers/provider-failures.d.ts.map +1 -0
- package/dist/providers/provider-failures.js +146 -0
- package/dist/providers/provider-failures.js.map +1 -0
- package/dist/providers/provider-status.d.ts +24 -0
- package/dist/providers/provider-status.d.ts.map +1 -0
- package/dist/providers/provider-status.js +63 -0
- package/dist/providers/provider-status.js.map +1 -0
- package/dist/{providers.d.ts → providers/providers.d.ts} +1 -1
- package/dist/providers/providers.d.ts.map +1 -0
- package/dist/providers/providers.js.map +1 -0
- package/dist/{secrets.d.ts → providers/secrets.d.ts} +24 -0
- package/dist/providers/secrets.d.ts.map +1 -0
- package/dist/{secrets.js → providers/secrets.js} +82 -2
- package/dist/providers/secrets.js.map +1 -0
- package/dist/{app-runtime.d.ts → runtime/app-runtime.d.ts} +8 -7
- package/dist/runtime/app-runtime.d.ts.map +1 -0
- package/dist/{app-runtime.js → runtime/app-runtime.js} +58 -28
- package/dist/runtime/app-runtime.js.map +1 -0
- package/dist/runtime/in-memory-runtime.d.ts +15 -0
- package/dist/runtime/in-memory-runtime.d.ts.map +1 -0
- package/dist/{in-memory-runtime.js → runtime/in-memory-runtime.js} +135 -29
- package/dist/runtime/in-memory-runtime.js.map +1 -0
- package/dist/runtime/renderer-api.d.ts +123 -0
- package/dist/runtime/renderer-api.d.ts.map +1 -0
- package/dist/{renderer-api.js.map → runtime/renderer-api.js.map} +1 -1
- package/dist/{runtime-tool-execution.d.ts → runtime/runtime-tool-execution.d.ts} +8 -3
- package/dist/runtime/runtime-tool-execution.d.ts.map +1 -0
- package/dist/runtime/runtime-tool-execution.js +733 -0
- package/dist/runtime/runtime-tool-execution.js.map +1 -0
- package/dist/{runtime.d.ts → runtime/runtime.d.ts} +31 -4
- package/dist/runtime/runtime.d.ts.map +1 -0
- package/dist/{runtime.js → runtime/runtime.js} +24 -0
- package/dist/runtime/runtime.js.map +1 -0
- package/dist/{history.d.ts → sessions/history.d.ts} +3 -2
- package/dist/sessions/history.d.ts.map +1 -0
- package/dist/{history.js → sessions/history.js} +55 -1
- package/dist/sessions/history.js.map +1 -0
- package/dist/{session-actions.d.ts → sessions/session-actions.d.ts} +2 -2
- package/dist/sessions/session-actions.d.ts.map +1 -0
- package/dist/{session-actions.js → sessions/session-actions.js} +2 -2
- package/dist/sessions/session-actions.js.map +1 -0
- package/dist/{cli-defined-tools.d.ts → tools/cli-defined-tools.d.ts} +2 -2
- package/dist/tools/cli-defined-tools.d.ts.map +1 -0
- package/dist/tools/cli-defined-tools.js.map +1 -0
- package/dist/tools/document-tools.d.ts +92 -0
- package/dist/tools/document-tools.d.ts.map +1 -0
- package/dist/tools/document-tools.js +430 -0
- package/dist/tools/document-tools.js.map +1 -0
- package/dist/{local-tools.d.ts → tools/local-tools.d.ts} +25 -0
- package/dist/tools/local-tools.d.ts.map +1 -0
- package/dist/tools/local-tools.js +944 -0
- package/dist/tools/local-tools.js.map +1 -0
- package/dist/tools/mcp-server-config.d.ts.map +1 -0
- package/dist/tools/mcp-server-config.js.map +1 -0
- package/dist/tools/permission-grant-store.d.ts.map +1 -0
- package/dist/tools/permission-grant-store.js.map +1 -0
- package/dist/{permission-grants.d.ts → tools/permission-grants.d.ts} +1 -1
- package/dist/tools/permission-grants.d.ts.map +1 -0
- package/dist/{permission-grants.js → tools/permission-grants.js} +31 -1
- package/dist/tools/permission-grants.js.map +1 -0
- package/dist/tools/project-app-defaults-tool.d.ts +4 -0
- package/dist/tools/project-app-defaults-tool.d.ts.map +1 -0
- package/dist/tools/project-app-defaults-tool.js +135 -0
- package/dist/tools/project-app-defaults-tool.js.map +1 -0
- package/dist/{project-tool-registry.d.ts → tools/project-tool-registry.d.ts} +2 -2
- package/dist/tools/project-tool-registry.d.ts.map +1 -0
- package/dist/{project-tool-registry.js → tools/project-tool-registry.js} +47 -9
- package/dist/tools/project-tool-registry.js.map +1 -0
- package/dist/{question-requests.d.ts → tools/question-requests.d.ts} +2 -2
- package/dist/tools/question-requests.d.ts.map +1 -0
- package/dist/{question-requests.js → tools/question-requests.js} +3 -2
- package/dist/tools/question-requests.js.map +1 -0
- package/dist/tools/subagent-task-tool.d.ts +8 -0
- package/dist/tools/subagent-task-tool.d.ts.map +1 -0
- package/dist/tools/subagent-task-tool.js +38 -0
- package/dist/tools/subagent-task-tool.js.map +1 -0
- package/dist/{tool-requests.d.ts → tools/tool-requests.d.ts} +4 -3
- package/dist/tools/tool-requests.d.ts.map +1 -0
- package/dist/{tool-requests.js → tools/tool-requests.js} +15 -4
- package/dist/tools/tool-requests.js.map +1 -0
- package/dist/{tools.d.ts → tools/tools.d.ts} +7 -1
- package/dist/tools/tools.d.ts.map +1 -0
- package/dist/{tools.js → tools/tools.js} +21 -0
- package/dist/tools/tools.js.map +1 -0
- package/dist/tools/update-plan-tool.d.ts +14 -0
- package/dist/tools/update-plan-tool.d.ts.map +1 -0
- package/dist/tools/update-plan-tool.js +83 -0
- package/dist/tools/update-plan-tool.js.map +1 -0
- package/dist/{personas.d.ts → workspace/personas.d.ts} +42 -1
- package/dist/workspace/personas.d.ts.map +1 -0
- package/dist/workspace/personas.js +457 -0
- package/dist/workspace/personas.js.map +1 -0
- package/dist/{projects.d.ts → workspace/projects.d.ts} +35 -5
- package/dist/workspace/projects.d.ts.map +1 -0
- package/dist/{projects.js → workspace/projects.js} +111 -3
- package/dist/workspace/projects.js.map +1 -0
- package/dist/{prompt-context.d.ts → workspace/prompt-context.d.ts} +5 -2
- package/dist/workspace/prompt-context.d.ts.map +1 -0
- package/dist/workspace/prompt-context.js +406 -0
- package/dist/workspace/prompt-context.js.map +1 -0
- package/dist/workspace/proposed-plan.d.ts.map +1 -0
- package/dist/workspace/proposed-plan.js.map +1 -0
- package/dist/workspace/repository-instructions.d.ts +20 -0
- package/dist/workspace/repository-instructions.d.ts.map +1 -0
- package/dist/workspace/repository-instructions.js +111 -0
- package/dist/workspace/repository-instructions.js.map +1 -0
- package/dist/{skills.d.ts → workspace/skills.d.ts} +23 -2
- package/dist/workspace/skills.d.ts.map +1 -0
- package/dist/{skills.js → workspace/skills.js} +129 -5
- package/dist/workspace/skills.js.map +1 -0
- package/package.json +15 -2
- package/dist/ai-sdk-provider.d.ts.map +0 -1
- package/dist/ai-sdk-provider.js.map +0 -1
- package/dist/app-runtime.d.ts.map +0 -1
- package/dist/app-runtime.js.map +0 -1
- package/dist/artifacts.d.ts.map +0 -1
- package/dist/artifacts.js.map +0 -1
- package/dist/cli-defined-tools.d.ts.map +0 -1
- package/dist/cli-defined-tools.js.map +0 -1
- package/dist/codex-oauth-provider.d.ts.map +0 -1
- package/dist/codex-oauth-provider.js.map +0 -1
- package/dist/events.d.ts.map +0 -1
- package/dist/events.js.map +0 -1
- package/dist/feedback.d.ts.map +0 -1
- package/dist/feedback.js.map +0 -1
- package/dist/history.d.ts.map +0 -1
- package/dist/history.js.map +0 -1
- package/dist/in-memory-runtime.d.ts +0 -12
- package/dist/in-memory-runtime.d.ts.map +0 -1
- package/dist/in-memory-runtime.js.map +0 -1
- package/dist/integrations.d.ts +0 -37
- package/dist/integrations.d.ts.map +0 -1
- package/dist/integrations.js +0 -48
- package/dist/integrations.js.map +0 -1
- package/dist/local-event-logger.d.ts.map +0 -1
- package/dist/local-event-logger.js.map +0 -1
- package/dist/local-event-schema.d.ts.map +0 -1
- package/dist/local-event-schema.js.map +0 -1
- package/dist/local-tools.d.ts.map +0 -1
- package/dist/local-tools.js +0 -418
- package/dist/local-tools.js.map +0 -1
- package/dist/mcp-server-config.d.ts.map +0 -1
- package/dist/mcp-server-config.js.map +0 -1
- package/dist/mock-provider.d.ts.map +0 -1
- package/dist/mock-provider.js.map +0 -1
- package/dist/model-catalog.d.ts.map +0 -1
- package/dist/model-catalog.js.map +0 -1
- package/dist/monoid-integration.d.ts +0 -33
- package/dist/monoid-integration.d.ts.map +0 -1
- package/dist/monoid-integration.js +0 -184
- package/dist/monoid-integration.js.map +0 -1
- package/dist/openai-oauth.d.ts.map +0 -1
- package/dist/openai-oauth.js.map +0 -1
- package/dist/permission-grant-store.d.ts.map +0 -1
- package/dist/permission-grant-store.js.map +0 -1
- package/dist/permission-grants.d.ts.map +0 -1
- package/dist/permission-grants.js.map +0 -1
- package/dist/personas.d.ts.map +0 -1
- package/dist/personas.js +0 -137
- package/dist/personas.js.map +0 -1
- package/dist/project-tool-registry.d.ts.map +0 -1
- package/dist/project-tool-registry.js.map +0 -1
- package/dist/projects.d.ts.map +0 -1
- package/dist/projects.js.map +0 -1
- package/dist/prompt-context.d.ts.map +0 -1
- package/dist/prompt-context.js +0 -170
- package/dist/prompt-context.js.map +0 -1
- package/dist/proposed-plan.d.ts.map +0 -1
- package/dist/proposed-plan.js.map +0 -1
- package/dist/providers.d.ts.map +0 -1
- package/dist/providers.js.map +0 -1
- package/dist/question-requests.d.ts.map +0 -1
- package/dist/question-requests.js.map +0 -1
- package/dist/renderer-api.d.ts +0 -52
- package/dist/renderer-api.d.ts.map +0 -1
- package/dist/runtime-tool-execution.d.ts.map +0 -1
- package/dist/runtime-tool-execution.js +0 -245
- package/dist/runtime-tool-execution.js.map +0 -1
- package/dist/runtime.d.ts.map +0 -1
- package/dist/runtime.js.map +0 -1
- package/dist/secrets.d.ts.map +0 -1
- package/dist/secrets.js.map +0 -1
- package/dist/session-actions.d.ts.map +0 -1
- package/dist/session-actions.js.map +0 -1
- package/dist/skills.d.ts.map +0 -1
- package/dist/skills.js.map +0 -1
- package/dist/tool-requests.d.ts.map +0 -1
- package/dist/tool-requests.js.map +0 -1
- package/dist/tools.d.ts.map +0 -1
- package/dist/tools.js.map +0 -1
- package/dist/wyrdos-integration.d.ts +0 -32
- package/dist/wyrdos-integration.d.ts.map +0 -1
- package/dist/wyrdos-integration.js +0 -183
- package/dist/wyrdos-integration.js.map +0 -1
- /package/dist/{artifacts.js → events/artifacts.js} +0 -0
- /package/dist/{feedback.js → events/feedback.js} +0 -0
- /package/dist/{local-event-schema.js → events/local-event-schema.js} +0 -0
- /package/dist/{openai-oauth.js → providers/definitions/openai-oauth.js} +0 -0
- /package/dist/{mock-provider.js → providers/mock-provider.js} +0 -0
- /package/dist/{providers.js → providers/providers.js} +0 -0
- /package/dist/{renderer-api.js → runtime/renderer-api.js} +0 -0
- /package/dist/{cli-defined-tools.js → tools/cli-defined-tools.js} +0 -0
- /package/dist/{mcp-server-config.d.ts → tools/mcp-server-config.d.ts} +0 -0
- /package/dist/{mcp-server-config.js → tools/mcp-server-config.js} +0 -0
- /package/dist/{permission-grant-store.d.ts → tools/permission-grant-store.d.ts} +0 -0
- /package/dist/{permission-grant-store.js → tools/permission-grant-store.js} +0 -0
- /package/dist/{proposed-plan.d.ts → workspace/proposed-plan.d.ts} +0 -0
- /package/dist/{proposed-plan.js → workspace/proposed-plan.js} +0 -0
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
import { authorizationHeaders, ensureGoogleWorkspaceCredential, } from "./google-workspace-api.js";
|
|
2
|
+
const googleSlidesApiBaseUrl = "https://slides.googleapis.com/v1/presentations";
|
|
3
|
+
export async function getGoogleSlidesMetadata(input, options = {}) {
|
|
4
|
+
const presentation = await getGoogleSlidesPresentation(input.presentationId, "presentationId,title,slides(objectId)", options, "Google Slides metadata read");
|
|
5
|
+
return {
|
|
6
|
+
ok: true,
|
|
7
|
+
presentationId: presentation.presentationId ?? input.presentationId,
|
|
8
|
+
title: presentation.title ?? "",
|
|
9
|
+
slideCount: presentation.slides?.length ?? 0,
|
|
10
|
+
slides: (presentation.slides ?? []).map((slide, index) => ({
|
|
11
|
+
objectId: slide.objectId ?? "",
|
|
12
|
+
index,
|
|
13
|
+
})),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export async function createGoogleSlidesPresentation(input, options = {}) {
|
|
17
|
+
const credential = await ensureGoogleWorkspaceCredential(options);
|
|
18
|
+
const response = await (options.fetch ?? fetch)(googleSlidesApiBaseUrl, {
|
|
19
|
+
method: "POST",
|
|
20
|
+
headers: {
|
|
21
|
+
...authorizationHeaders(credential),
|
|
22
|
+
"content-type": "application/json",
|
|
23
|
+
},
|
|
24
|
+
body: JSON.stringify({ title: input.title }),
|
|
25
|
+
});
|
|
26
|
+
await assertGoogleSlidesResponseOk(response, "Google Slides presentation create");
|
|
27
|
+
const body = (await response.json());
|
|
28
|
+
const presentationId = body.presentationId ?? "";
|
|
29
|
+
return {
|
|
30
|
+
ok: true,
|
|
31
|
+
presentationId,
|
|
32
|
+
title: body.title ?? input.title,
|
|
33
|
+
url: `https://docs.google.com/presentation/d/${presentationId}/edit`,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export async function readGoogleSlidesText(input, options = {}) {
|
|
37
|
+
const presentation = await getGoogleSlidesPresentation(input.presentationId, undefined, options, "Google Slides text read");
|
|
38
|
+
const slides = (presentation.slides ?? []).map((slide, index) => ({
|
|
39
|
+
objectId: slide.objectId ?? "",
|
|
40
|
+
index,
|
|
41
|
+
text: extractSlideText(slide),
|
|
42
|
+
}));
|
|
43
|
+
return {
|
|
44
|
+
ok: true,
|
|
45
|
+
presentationId: presentation.presentationId ?? input.presentationId,
|
|
46
|
+
title: presentation.title ?? "",
|
|
47
|
+
slides,
|
|
48
|
+
text: slides
|
|
49
|
+
.map((slide) => `Slide ${slide.index + 1}\n${slide.text}`.trim())
|
|
50
|
+
.join("\n\n"),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export async function batchUpdateGoogleSlides(input, options = {}) {
|
|
54
|
+
const credential = await ensureGoogleWorkspaceCredential(options);
|
|
55
|
+
const response = await (options.fetch ?? fetch)(`${googleSlidesApiBaseUrl}/${encodeURIComponent(input.presentationId)}:batchUpdate`, {
|
|
56
|
+
method: "POST",
|
|
57
|
+
headers: {
|
|
58
|
+
...authorizationHeaders(credential),
|
|
59
|
+
"content-type": "application/json",
|
|
60
|
+
},
|
|
61
|
+
body: JSON.stringify({ requests: input.requests }),
|
|
62
|
+
});
|
|
63
|
+
await assertGoogleSlidesResponseOk(response, "Google Slides batch update");
|
|
64
|
+
const body = (await response.json());
|
|
65
|
+
return {
|
|
66
|
+
ok: true,
|
|
67
|
+
presentationId: body.presentationId ?? input.presentationId,
|
|
68
|
+
replies: body.replies ?? [],
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
export async function createGoogleSlide(input, options = {}) {
|
|
72
|
+
return batchUpdateGoogleSlides({
|
|
73
|
+
presentationId: input.presentationId,
|
|
74
|
+
requests: [
|
|
75
|
+
{
|
|
76
|
+
createSlide: {
|
|
77
|
+
...(input.objectId ? { objectId: input.objectId } : {}),
|
|
78
|
+
...(input.insertionIndex !== undefined
|
|
79
|
+
? { insertionIndex: input.insertionIndex }
|
|
80
|
+
: {}),
|
|
81
|
+
slideLayoutReference: {
|
|
82
|
+
predefinedLayout: input.predefinedLayout ?? "BLANK",
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
],
|
|
87
|
+
}, options);
|
|
88
|
+
}
|
|
89
|
+
export async function deleteGoogleSlidesObject(input, options = {}) {
|
|
90
|
+
return batchUpdateGoogleSlides({
|
|
91
|
+
presentationId: input.presentationId,
|
|
92
|
+
requests: [{ deleteObject: { objectId: input.objectId } }],
|
|
93
|
+
}, options);
|
|
94
|
+
}
|
|
95
|
+
export async function createGoogleSlidesTextBox(input, options = {}) {
|
|
96
|
+
const objectId = input.objectId ?? `textbox_${Date.now()}`;
|
|
97
|
+
return batchUpdateGoogleSlides({
|
|
98
|
+
presentationId: input.presentationId,
|
|
99
|
+
requests: [
|
|
100
|
+
{
|
|
101
|
+
createShape: {
|
|
102
|
+
objectId,
|
|
103
|
+
shapeType: "TEXT_BOX",
|
|
104
|
+
elementProperties: elementProperties(input.pageObjectId, input),
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
insertText: {
|
|
109
|
+
objectId,
|
|
110
|
+
insertionIndex: 0,
|
|
111
|
+
text: input.text,
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
],
|
|
115
|
+
}, options);
|
|
116
|
+
}
|
|
117
|
+
export async function replaceGoogleSlidesText(input, options = {}) {
|
|
118
|
+
return batchUpdateGoogleSlides({
|
|
119
|
+
presentationId: input.presentationId,
|
|
120
|
+
requests: [
|
|
121
|
+
{
|
|
122
|
+
replaceAllText: {
|
|
123
|
+
containsText: {
|
|
124
|
+
text: input.containsText,
|
|
125
|
+
matchCase: false,
|
|
126
|
+
},
|
|
127
|
+
replaceText: input.replaceText,
|
|
128
|
+
...(input.pageObjectIds?.length
|
|
129
|
+
? { pageObjectIds: input.pageObjectIds }
|
|
130
|
+
: {}),
|
|
131
|
+
},
|
|
132
|
+
},
|
|
133
|
+
],
|
|
134
|
+
}, options);
|
|
135
|
+
}
|
|
136
|
+
export async function createGoogleSlidesImage(input, options = {}) {
|
|
137
|
+
return batchUpdateGoogleSlides({
|
|
138
|
+
presentationId: input.presentationId,
|
|
139
|
+
requests: [
|
|
140
|
+
{
|
|
141
|
+
createImage: {
|
|
142
|
+
...(input.objectId ? { objectId: input.objectId } : {}),
|
|
143
|
+
url: input.url,
|
|
144
|
+
elementProperties: elementProperties(input.pageObjectId, input),
|
|
145
|
+
},
|
|
146
|
+
},
|
|
147
|
+
],
|
|
148
|
+
}, options);
|
|
149
|
+
}
|
|
150
|
+
export async function createGoogleSlidesShape(input, options = {}) {
|
|
151
|
+
return batchUpdateGoogleSlides({
|
|
152
|
+
presentationId: input.presentationId,
|
|
153
|
+
requests: [
|
|
154
|
+
{
|
|
155
|
+
createShape: {
|
|
156
|
+
...(input.objectId ? { objectId: input.objectId } : {}),
|
|
157
|
+
shapeType: input.shapeType ?? "RECTANGLE",
|
|
158
|
+
elementProperties: elementProperties(input.pageObjectId, input),
|
|
159
|
+
},
|
|
160
|
+
},
|
|
161
|
+
],
|
|
162
|
+
}, options);
|
|
163
|
+
}
|
|
164
|
+
export async function createGoogleSlidesTable(input, options = {}) {
|
|
165
|
+
return batchUpdateGoogleSlides({
|
|
166
|
+
presentationId: input.presentationId,
|
|
167
|
+
requests: [
|
|
168
|
+
{
|
|
169
|
+
createTable: {
|
|
170
|
+
...(input.objectId ? { objectId: input.objectId } : {}),
|
|
171
|
+
rows: input.rows,
|
|
172
|
+
columns: input.columns,
|
|
173
|
+
elementProperties: elementProperties(input.pageObjectId, input),
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
],
|
|
177
|
+
}, options);
|
|
178
|
+
}
|
|
179
|
+
export async function updateGoogleSlidesTextStyle(input, options = {}) {
|
|
180
|
+
return batchUpdateGoogleSlides({
|
|
181
|
+
presentationId: input.presentationId,
|
|
182
|
+
requests: [
|
|
183
|
+
{
|
|
184
|
+
updateTextStyle: {
|
|
185
|
+
objectId: input.objectId,
|
|
186
|
+
style: input.style,
|
|
187
|
+
fields: input.fields,
|
|
188
|
+
},
|
|
189
|
+
},
|
|
190
|
+
],
|
|
191
|
+
}, options);
|
|
192
|
+
}
|
|
193
|
+
export async function updateGoogleSlidesShapeStyle(input, options = {}) {
|
|
194
|
+
return batchUpdateGoogleSlides({
|
|
195
|
+
presentationId: input.presentationId,
|
|
196
|
+
requests: [
|
|
197
|
+
{
|
|
198
|
+
updateShapeProperties: {
|
|
199
|
+
objectId: input.objectId,
|
|
200
|
+
shapeProperties: input.style,
|
|
201
|
+
fields: input.fields,
|
|
202
|
+
},
|
|
203
|
+
},
|
|
204
|
+
],
|
|
205
|
+
}, options);
|
|
206
|
+
}
|
|
207
|
+
async function getGoogleSlidesPresentation(presentationId, fields, options, action) {
|
|
208
|
+
const credential = await ensureGoogleWorkspaceCredential(options);
|
|
209
|
+
const url = new URL(`${googleSlidesApiBaseUrl}/${encodeURIComponent(presentationId)}`);
|
|
210
|
+
if (fields) {
|
|
211
|
+
url.searchParams.set("fields", fields);
|
|
212
|
+
}
|
|
213
|
+
const response = await (options.fetch ?? fetch)(url, {
|
|
214
|
+
headers: authorizationHeaders(credential),
|
|
215
|
+
});
|
|
216
|
+
await assertGoogleSlidesResponseOk(response, action);
|
|
217
|
+
return (await response.json());
|
|
218
|
+
}
|
|
219
|
+
function extractSlideText(slide) {
|
|
220
|
+
return [
|
|
221
|
+
...extractPageElementsText(slide.pageElements ?? []),
|
|
222
|
+
...extractPageElementsText(slide.slideProperties?.notesPage?.pageElements ?? []),
|
|
223
|
+
]
|
|
224
|
+
.map((value) => value.trim())
|
|
225
|
+
.filter(Boolean)
|
|
226
|
+
.join("\n");
|
|
227
|
+
}
|
|
228
|
+
function extractPageElementsText(elements) {
|
|
229
|
+
return elements.flatMap((element) => [
|
|
230
|
+
...(element.shape ? extractTextContent(element.shape.text) : []),
|
|
231
|
+
...(element.table ? extractTableText(element.table) : []),
|
|
232
|
+
]);
|
|
233
|
+
}
|
|
234
|
+
function extractTableText(table) {
|
|
235
|
+
return (table.tableRows ?? []).map((row) => (row.tableCells ?? [])
|
|
236
|
+
.map((cell) => extractTextContent(cell.text).join(" ").trim())
|
|
237
|
+
.filter(Boolean)
|
|
238
|
+
.join(" | "));
|
|
239
|
+
}
|
|
240
|
+
function extractTextContent(text) {
|
|
241
|
+
if (!text) {
|
|
242
|
+
return [];
|
|
243
|
+
}
|
|
244
|
+
const content = (text.textElements ?? [])
|
|
245
|
+
.map((element) => element.textRun?.content ?? "")
|
|
246
|
+
.join("")
|
|
247
|
+
.trim();
|
|
248
|
+
return content ? [content] : [];
|
|
249
|
+
}
|
|
250
|
+
function elementProperties(pageObjectId, input) {
|
|
251
|
+
return {
|
|
252
|
+
pageObjectId,
|
|
253
|
+
size: {
|
|
254
|
+
width: { magnitude: input.width ?? 300, unit: "PT" },
|
|
255
|
+
height: { magnitude: input.height ?? 120, unit: "PT" },
|
|
256
|
+
},
|
|
257
|
+
transform: {
|
|
258
|
+
scaleX: 1,
|
|
259
|
+
scaleY: 1,
|
|
260
|
+
translateX: input.x ?? 72,
|
|
261
|
+
translateY: input.y ?? 72,
|
|
262
|
+
unit: "PT",
|
|
263
|
+
},
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
async function assertGoogleSlidesResponseOk(response, action) {
|
|
267
|
+
if (response.ok) {
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
throw new Error(`${action} failed with status ${response.status}: ${await parseGoogleSlidesApiError(response)}`);
|
|
271
|
+
}
|
|
272
|
+
async function parseGoogleSlidesApiError(response) {
|
|
273
|
+
const text = await response.text();
|
|
274
|
+
if (!text) {
|
|
275
|
+
return response.statusText;
|
|
276
|
+
}
|
|
277
|
+
try {
|
|
278
|
+
const parsed = JSON.parse(text);
|
|
279
|
+
return parsed.error?.message ?? text;
|
|
280
|
+
}
|
|
281
|
+
catch {
|
|
282
|
+
return text;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
//# sourceMappingURL=google-slides.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-slides.js","sourceRoot":"","sources":["../../src/plugins/google-slides.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type GoogleOAuthCredential } from "./google-workspace-oauth.js";
|
|
2
|
+
import { type SecretStore } from "../providers/secrets.js";
|
|
3
|
+
export declare const googleWorkspaceOAuthClientIdEnvVar = "GOOGLE_WORKSPACE_OAUTH_CLIENT_ID";
|
|
4
|
+
export declare const googleWorkspaceOAuthClientSecretEnvVar = "GOOGLE_WORKSPACE_OAUTH_CLIENT_SECRET";
|
|
5
|
+
export declare const reggieGoogleWorkspaceOAuthClientIdEnvVar = "REGGIE_GOOGLE_WORKSPACE_OAUTH_CLIENT_ID";
|
|
6
|
+
export declare const actorGoogleWorkspaceOAuthClientIdEnvVar = "ACTOR_GOOGLE_WORKSPACE_OAUTH_CLIENT_ID";
|
|
7
|
+
export declare const googleWorkspaceOAuthSecretId = "secret_google_workspace_oauth";
|
|
8
|
+
export interface GoogleWorkspaceClientOptions {
|
|
9
|
+
readonly env?: NodeJS.ProcessEnv;
|
|
10
|
+
readonly fetch?: typeof fetch;
|
|
11
|
+
readonly secretStore?: SecretStore;
|
|
12
|
+
readonly now?: () => Date;
|
|
13
|
+
}
|
|
14
|
+
export declare function ensureGoogleWorkspaceCredential(options: GoogleWorkspaceClientOptions): Promise<GoogleOAuthCredential>;
|
|
15
|
+
export declare function authorizationHeaders(credential: GoogleOAuthCredential): Record<string, string>;
|
|
16
|
+
//# sourceMappingURL=google-workspace-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-workspace-api.d.ts","sourceRoot":"","sources":["../../src/plugins/google-workspace-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,kCAAkC,qCACX,CAAC;AACrC,eAAO,MAAM,sCAAsC,yCACX,CAAC;AACzC,eAAO,MAAM,wCAAwC,4CACV,CAAC;AAC5C,eAAO,MAAM,uCAAuC,2CACV,CAAC;AAC3C,eAAO,MAAM,4BAA4B,kCAAkC,CAAC;AAE5E,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,qBAAqB,CAAC,CAiBhC;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,qBAAqB,GAChC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIxB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ensureFreshGoogleOAuthCredential, } from "./google-workspace-oauth.js";
|
|
2
|
+
import { createSystemKeychainSecretStore, } from "../providers/secrets.js";
|
|
3
|
+
export const googleWorkspaceOAuthClientIdEnvVar = "GOOGLE_WORKSPACE_OAUTH_CLIENT_ID";
|
|
4
|
+
export const googleWorkspaceOAuthClientSecretEnvVar = "GOOGLE_WORKSPACE_OAUTH_CLIENT_SECRET";
|
|
5
|
+
export const reggieGoogleWorkspaceOAuthClientIdEnvVar = "REGGIE_GOOGLE_WORKSPACE_OAUTH_CLIENT_ID";
|
|
6
|
+
export const actorGoogleWorkspaceOAuthClientIdEnvVar = "ACTOR_GOOGLE_WORKSPACE_OAUTH_CLIENT_ID";
|
|
7
|
+
export const googleWorkspaceOAuthSecretId = "secret_google_workspace_oauth";
|
|
8
|
+
export async function ensureGoogleWorkspaceCredential(options) {
|
|
9
|
+
const env = options.env ?? process.env;
|
|
10
|
+
const clientSecret = getGoogleWorkspaceOAuthClientSecret(env);
|
|
11
|
+
const credential = await ensureFreshGoogleOAuthCredential({
|
|
12
|
+
secretStore: options.secretStore ?? createSystemKeychainSecretStore(),
|
|
13
|
+
secretId: googleWorkspaceOAuthSecretId,
|
|
14
|
+
clientId: getGoogleWorkspaceOAuthClientId(env),
|
|
15
|
+
...(clientSecret ? { clientSecret } : {}),
|
|
16
|
+
fetch: options.fetch ?? fetch,
|
|
17
|
+
...(options.now ? { now: options.now } : {}),
|
|
18
|
+
});
|
|
19
|
+
if (!credential) {
|
|
20
|
+
throw new Error("Google Workspace login required.");
|
|
21
|
+
}
|
|
22
|
+
return credential;
|
|
23
|
+
}
|
|
24
|
+
export function authorizationHeaders(credential) {
|
|
25
|
+
return {
|
|
26
|
+
authorization: `Bearer ${credential.accessToken}`,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function getGoogleWorkspaceOAuthClientId(env) {
|
|
30
|
+
const clientId = env[googleWorkspaceOAuthClientIdEnvVar] ??
|
|
31
|
+
env[reggieGoogleWorkspaceOAuthClientIdEnvVar] ??
|
|
32
|
+
env[actorGoogleWorkspaceOAuthClientIdEnvVar];
|
|
33
|
+
if (!clientId) {
|
|
34
|
+
throw new Error(`Google Workspace OAuth client ID is not configured. Set ${googleWorkspaceOAuthClientIdEnvVar}.`);
|
|
35
|
+
}
|
|
36
|
+
return clientId;
|
|
37
|
+
}
|
|
38
|
+
function getGoogleWorkspaceOAuthClientSecret(env) {
|
|
39
|
+
const clientSecret = env[googleWorkspaceOAuthClientSecretEnvVar]?.trim();
|
|
40
|
+
return clientSecret ? clientSecret : undefined;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=google-workspace-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-workspace-api.js","sourceRoot":"","sources":["../../src/plugins/google-workspace-api.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,GAEjC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,+BAA+B,GAEhC,MAAM,yBAAyB,CAAC;AAEjC,MAAM,CAAC,MAAM,kCAAkC,GAC7C,kCAAkC,CAAC;AACrC,MAAM,CAAC,MAAM,sCAAsC,GACjD,sCAAsC,CAAC;AACzC,MAAM,CAAC,MAAM,wCAAwC,GACnD,yCAAyC,CAAC;AAC5C,MAAM,CAAC,MAAM,uCAAuC,GAClD,wCAAwC,CAAC;AAC3C,MAAM,CAAC,MAAM,4BAA4B,GAAG,+BAA+B,CAAC;AAS5E,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,OAAqC;IAErC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,YAAY,GAAG,mCAAmC,CAAC,GAAG,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,MAAM,gCAAgC,CAAC;QACxD,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,+BAA+B,EAAE;QACrE,QAAQ,EAAE,4BAA4B;QACtC,QAAQ,EAAE,+BAA+B,CAAC,GAAG,CAAC;QAC9C,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;QAC7B,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7C,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,UAAiC;IAEjC,OAAO;QACL,aAAa,EAAE,UAAU,UAAU,CAAC,WAAW,EAAE;KAClD,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CAAC,GAAsB;IAC7D,MAAM,QAAQ,GACZ,GAAG,CAAC,kCAAkC,CAAC;QACvC,GAAG,CAAC,wCAAwC,CAAC;QAC7C,GAAG,CAAC,uCAAuC,CAAC,CAAC;IAE/C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,2DAA2D,kCAAkC,GAAG,CACjG,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,mCAAmC,CAC1C,GAAsB;IAEtB,MAAM,YAAY,GAAG,GAAG,CAAC,sCAAsC,CAAC,EAAE,IAAI,EAAE,CAAC;IACzE,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { PluginRegistration } from "./plugins.js";
|
|
2
|
+
import { googleWorkspaceOAuthSecretId } from "./google-drive.js";
|
|
3
|
+
import { type SecretStore } from "../providers/secrets.js";
|
|
4
|
+
export declare const googleWorkspaceIntegrationId = "google_workspace";
|
|
5
|
+
export { googleWorkspaceOAuthSecretId };
|
|
6
|
+
export declare const googleWorkspaceIntegrationConfig: {
|
|
7
|
+
readonly id: "google_workspace";
|
|
8
|
+
readonly kind: "google_workspace";
|
|
9
|
+
readonly name: "Google Workspace";
|
|
10
|
+
readonly description: "OAuth API-backed app connector for Google Drive, Docs, and Sheets.";
|
|
11
|
+
readonly defaultEnabled: false;
|
|
12
|
+
};
|
|
13
|
+
export declare const googleWorkspaceScopes: readonly ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly", "https://www.googleapis.com/auth/documents", "https://www.googleapis.com/auth/presentations", "https://www.googleapis.com/auth/spreadsheets"];
|
|
14
|
+
export declare function createGoogleWorkspaceIntegration(): PluginRegistration;
|
|
15
|
+
export declare function checkGoogleWorkspaceIntegrationStatus(options?: {
|
|
16
|
+
readonly secretStore?: SecretStore;
|
|
17
|
+
}): Promise<{
|
|
18
|
+
readonly id: typeof googleWorkspaceIntegrationId;
|
|
19
|
+
readonly status: "active" | "setup_required";
|
|
20
|
+
readonly message: string;
|
|
21
|
+
}>;
|
|
22
|
+
//# sourceMappingURL=google-workspace-integration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-workspace-integration.d.ts","sourceRoot":"","sources":["../../src/plugins/google-workspace-integration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAUvD,OAAO,EAKL,4BAA4B,EAK7B,MAAM,mBAAmB,CAAC;AA8B3B,OAAO,EAAmC,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG5F,eAAO,MAAM,4BAA4B,qBAAqB,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,CAAC;AAExC,eAAO,MAAM,gCAAgC;;;;;;CAOnC,CAAC;AAEX,eAAO,MAAM,qBAAqB,+SAOxB,CAAC;AAEX,wBAAgB,gCAAgC,IAAI,kBAAkB,CAs9BrE;AAED,wBAAsB,qCAAqC,CAAC,OAAO,CAAC,EAAE;IACpE,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;CACpC,GAAG,OAAO,CAAC;IACV,QAAQ,CAAC,EAAE,EAAE,OAAO,4BAA4B,CAAC;IACjD,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,gBAAgB,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC,CAiCD"}
|