better-notion 1.8.0__tar.gz → 1.8.1__tar.gz
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.
- {better_notion-1.8.0 → better_notion-1.8.1}/PKG-INFO +1 -1
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/plugins/official/agents.py +11 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/plugins/official/agents_sdk/models.py +24 -12
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/utils/agents/workspace.py +11 -1
- {better_notion-1.8.0 → better_notion-1.8.1}/pyproject.toml +1 -1
- {better_notion-1.8.0 → better_notion-1.8.1}/.gitignore +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/LICENSE +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/README.md +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/client.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/collections/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/collections/blocks.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/collections/comments.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/collections/databases.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/collections/pages.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/collections/users.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/entities/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/entities/block.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/entities/comment.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/entities/database.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/entities/page.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/entities/user.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/errors.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/oauth.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/properties/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/properties/base.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/properties/checkbox.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/properties/date.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/properties/email.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/properties/number.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/properties/phone.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/properties/rich_text.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/properties/select.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/properties/title.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/properties/url.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/utils/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_api/utils/pagination.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_cli/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_cli/async_typer.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_cli/commands/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_cli/commands/auth.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_cli/commands/blocks.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_cli/commands/comments.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_cli/commands/config.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_cli/commands/databases.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_cli/commands/pages.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_cli/commands/plugins.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_cli/commands/search.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_cli/commands/update.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_cli/commands/users.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_cli/commands/workspace.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_cli/config.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_cli/display.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_cli/docs/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_cli/docs/base.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_cli/docs/formatters.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_cli/docs/registry.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_cli/errors.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_cli/main.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_cli/markdown.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_cli/response.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_cli/utils/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/base/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/base/entity.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/cache/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/cache/cache.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/client.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/managers/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/managers/block_manager.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/managers/comment_manager.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/managers/database_manager.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/managers/page_manager.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/managers/user_manager.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/block.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/audio.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/bookmark.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/breadcrumb.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/bullet.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/callout.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/code.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/column.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/column_list.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/divider.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/embed.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/equation.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/file.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/heading.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/image.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/numbered.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/paragraph.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/pdf.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/quote.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/synced_block.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/table.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/table_row.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/template.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/todo.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/toggle.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/video.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/comment.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/database.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/page.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/user.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/parents/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/plugins.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/properties/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/properties/formula.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/properties/parsers.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/properties/relation.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/query/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/query/database_query.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/query/filter_translator.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/plugins/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/plugins/base.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/plugins/loader.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/plugins/official/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/plugins/official/agents_cli.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/plugins/official/agents_schema.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/plugins/official/agents_sdk/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/plugins/official/agents_sdk/managers.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/plugins/official/agents_sdk/plugin.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/plugins/official/productivity.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/plugins/state.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/utils/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/utils/agents/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/utils/agents/auth.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/utils/agents/dependency_resolver.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/utils/agents/metadata.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/utils/agents/project_context.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/utils/agents/rbac.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/utils/agents/schemas.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/utils/agents/state_machine.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/utils/helpers.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/utils/retry.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/better_notion/utils/validators.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/_sdk/base/test_entity.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/_sdk/cache/test_cache.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/_sdk/models/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/_sdk/models/blocks/test_advanced_blocks.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/_sdk/models/test_block.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/_sdk/models/test_database.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/_sdk/models/test_database_bug.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/_sdk/models/test_page.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/_sdk/models/test_user.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/_sdk/properties/test_formula.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/_sdk/properties/test_parsers.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/_sdk/properties/test_relation.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/_sdk/query/test_database_query.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/_sdk/query/test_filter_translator.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/_sdk/test_client.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/_sdk/test_comment.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/agents/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/agents/test_auth.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/agents/test_dependency_resolver.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/agents/test_plugin.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/agents/test_project_context.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/agents/test_rbac.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/agents/test_schemas.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/agents/test_state_machine.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/agents/test_workspace.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/cli/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/cli/test_async_typer.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/cli/test_config.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/cli/test_display.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/cli/test_errors.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/cli/test_main.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/cli/test_pages_commands.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/cli/test_response.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/cli/test_update.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/conftest.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/integration/conftest.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/integration/test_blocks.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/integration/test_databases.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/integration/test_pages.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/integration/test_search.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/integration/test_users.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/plugins/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/plugins/test_agents_cli.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/plugins/test_agents_sdk_integration.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/plugins/test_agents_sdk_managers.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/plugins/test_agents_sdk_models.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/plugins/test_base.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/plugins/test_loader.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/plugins/test_marketplace.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/plugins/test_plugin_commands_state.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/plugins/test_productivity_plugin.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/plugins/test_state.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/sdk/__init__.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/sdk/test_plugin_system.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/test_metadata.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/test_schema_command.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/unit/test_client.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/unit/test_collections.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/unit/test_entities.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/unit/test_errors.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/unit/test_helpers.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/unit/test_properties.py +0 -0
- {better_notion-1.8.0 → better_notion-1.8.1}/tests/utils/test_retry.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: better-notion
|
|
3
|
-
Version: 1.8.
|
|
3
|
+
Version: 1.8.1
|
|
4
4
|
Summary: A high-level Python SDK for the Notion API with developer experience in mind.
|
|
5
5
|
Project-URL: Homepage, https://github.com/nesalia-inc/better-notion
|
|
6
6
|
Project-URL: Documentation, https://github.com/nesalia-inc/better-notion#readme
|
|
@@ -156,12 +156,23 @@ class AgentsPlugin(CombinedPluginInterface):
|
|
|
156
156
|
|
|
157
157
|
if existing:
|
|
158
158
|
database_ids = existing.get("database_ids", {})
|
|
159
|
+
|
|
160
|
+
# Save workspace config for subsequent commands
|
|
161
|
+
# This fixes the bug where --skip detected workspace but didn't save config,
|
|
162
|
+
# causing subsequent commands (agents orgs create, etc.) to fail
|
|
163
|
+
initializer._database_ids = database_ids
|
|
164
|
+
initializer._parent_page_id = parent_page_id
|
|
165
|
+
initializer._workspace_id = existing.get("workspace_id")
|
|
166
|
+
initializer._workspace_name = existing.get("workspace_name", workspace_name)
|
|
167
|
+
initializer.save_database_ids()
|
|
168
|
+
|
|
159
169
|
return format_success(
|
|
160
170
|
{
|
|
161
171
|
"message": "Workspace already exists, skipping initialization",
|
|
162
172
|
"workspace_id": existing.get("workspace_id"),
|
|
163
173
|
"databases_found": len(database_ids),
|
|
164
174
|
"database_ids": database_ids,
|
|
175
|
+
"config_saved": True,
|
|
165
176
|
},
|
|
166
177
|
meta={
|
|
167
178
|
"command": "agents init",
|
{better_notion-1.8.0 → better_notion-1.8.1}/better_notion/plugins/official/agents_sdk/models.py
RENAMED
|
@@ -203,18 +203,24 @@ class Organization(BaseEntity):
|
|
|
203
203
|
}
|
|
204
204
|
|
|
205
205
|
if slug:
|
|
206
|
-
properties["Slug"] = RichText(slug)
|
|
206
|
+
properties["Slug"] = RichText(name="Slug", content=slug)
|
|
207
207
|
if description:
|
|
208
|
-
properties["Description"] = RichText(description)
|
|
208
|
+
properties["Description"] = RichText(name="Description", content=description)
|
|
209
209
|
if repository_url:
|
|
210
|
-
properties["Repository URL"] = URL(repository_url)
|
|
210
|
+
properties["Repository URL"] = URL(name="Repository URL", url=repository_url)
|
|
211
211
|
if status:
|
|
212
|
-
properties["Status"] = Select(status)
|
|
212
|
+
properties["Status"] = Select(name="Status", value=status)
|
|
213
|
+
|
|
214
|
+
# Convert Property objects to dicts for API
|
|
215
|
+
serialized_properties = {
|
|
216
|
+
key: prop.to_dict() if hasattr(prop, 'to_dict') else prop
|
|
217
|
+
for key, prop in properties.items()
|
|
218
|
+
}
|
|
213
219
|
|
|
214
220
|
# Create page
|
|
215
221
|
data = await client._api.pages.create(
|
|
216
222
|
parent={"database_id": database_id},
|
|
217
|
-
properties=
|
|
223
|
+
properties=serialized_properties,
|
|
218
224
|
)
|
|
219
225
|
|
|
220
226
|
org = cls(client, data)
|
|
@@ -490,24 +496,30 @@ class Project(BaseEntity):
|
|
|
490
496
|
properties: dict[str, Any] = {
|
|
491
497
|
"Name": Title(name),
|
|
492
498
|
"Organization": Relation([organization_id]),
|
|
493
|
-
"Role": Select(role),
|
|
499
|
+
"Role": Select(name="Role", value=role),
|
|
494
500
|
}
|
|
495
501
|
|
|
496
502
|
if slug:
|
|
497
|
-
properties["Slug"] = RichText(slug)
|
|
503
|
+
properties["Slug"] = RichText(name="Slug", content=slug)
|
|
498
504
|
if description:
|
|
499
|
-
properties["Description"] = RichText(description)
|
|
505
|
+
properties["Description"] = RichText(name="Description", content=description)
|
|
500
506
|
if repository:
|
|
501
|
-
properties["Repository"] = URL(repository)
|
|
507
|
+
properties["Repository"] = URL(name="Repository", url=repository)
|
|
502
508
|
if status:
|
|
503
|
-
properties["Status"] = Select(status)
|
|
509
|
+
properties["Status"] = Select(name="Status", value=status)
|
|
504
510
|
if tech_stack:
|
|
505
|
-
properties["Tech Stack"] = MultiSelect(tech_stack)
|
|
511
|
+
properties["Tech Stack"] = MultiSelect(name="Tech Stack", values=tech_stack)
|
|
512
|
+
|
|
513
|
+
# Convert Property objects to dicts for API
|
|
514
|
+
serialized_properties = {
|
|
515
|
+
key: prop.to_dict() if hasattr(prop, 'to_dict') else prop
|
|
516
|
+
for key, prop in properties.items()
|
|
517
|
+
}
|
|
506
518
|
|
|
507
519
|
# Create page
|
|
508
520
|
data = await client._api.pages.create(
|
|
509
521
|
parent={"database_id": database_id},
|
|
510
|
-
properties=
|
|
522
|
+
properties=serialized_properties,
|
|
511
523
|
)
|
|
512
524
|
|
|
513
525
|
project = cls(client, data)
|
|
@@ -351,6 +351,9 @@ class WorkspaceInitializer:
|
|
|
351
351
|
def save_database_ids(self, path: Optional[Path] = None) -> None:
|
|
352
352
|
"""Save workspace metadata (database IDs and workspace info) to config file.
|
|
353
353
|
|
|
354
|
+
Saves database IDs at top level with capitalized keys (e.g., "Organizations", "Projects")
|
|
355
|
+
to match what SDK managers expect. Also saves under "database_ids" for compatibility.
|
|
356
|
+
|
|
354
357
|
Args:
|
|
355
358
|
path: Path to save config file (default: ~/.notion/workspace.json)
|
|
356
359
|
"""
|
|
@@ -359,14 +362,21 @@ class WorkspaceInitializer:
|
|
|
359
362
|
|
|
360
363
|
path.parent.mkdir(parents=True, exist_ok=True)
|
|
361
364
|
|
|
365
|
+
# Map lowercase keys to capitalized keys for SDK manager compatibility
|
|
366
|
+
database_ids_capitalized = {
|
|
367
|
+
key.capitalize(): value for key, value in self._database_ids.items()
|
|
368
|
+
}
|
|
369
|
+
|
|
362
370
|
# Save full workspace metadata
|
|
371
|
+
# Database IDs are saved at top level with capitalized keys for SDK managers
|
|
363
372
|
config = {
|
|
364
373
|
"workspace_id": self._workspace_id,
|
|
365
374
|
"workspace_name": self._workspace_name,
|
|
366
375
|
"parent_page": self._parent_page_id,
|
|
367
376
|
"initialized_at": datetime.now(timezone.utc).isoformat(),
|
|
368
377
|
"version": "1.5.4",
|
|
369
|
-
"
|
|
378
|
+
**database_ids_capitalized, # Save at top level: "Organizations", "Projects", etc.
|
|
379
|
+
"database_ids": self._database_ids, # Also save under database_ids for compatibility
|
|
370
380
|
}
|
|
371
381
|
|
|
372
382
|
with open(path, "w", encoding="utf-8") as f:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_notion-1.8.0 → better_notion-1.8.1}/better_notion/_sdk/models/blocks/synced_block.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_notion-1.8.0 → better_notion-1.8.1}/better_notion/plugins/official/agents_sdk/__init__.py
RENAMED
|
File without changes
|
{better_notion-1.8.0 → better_notion-1.8.1}/better_notion/plugins/official/agents_sdk/managers.py
RENAMED
|
File without changes
|
{better_notion-1.8.0 → better_notion-1.8.1}/better_notion/plugins/official/agents_sdk/plugin.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_notion-1.8.0 → better_notion-1.8.1}/better_notion/utils/agents/dependency_resolver.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_notion-1.8.0 → better_notion-1.8.1}/tests/_sdk/models/blocks/test_advanced_blocks.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|