induscode 0.1.0__tar.gz → 0.1.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.
- induscode-0.1.1/PKG-INFO +114 -0
- induscode-0.1.1/README.md +81 -0
- {induscode-0.1.0 → induscode-0.1.1}/pyproject.toml +6 -6
- {induscode-0.1.0 → induscode-0.1.1}/tests/test_scaffold.py +4 -2
- induscode-0.1.0/PKG-INFO +0 -97
- induscode-0.1.0/README.md +0 -64
- {induscode-0.1.0 → induscode-0.1.1}/.gitignore +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/.pindusagi/settings.json +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/CHANGELOG.md +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/CREDITS.md +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/GAP_REPORT.md +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/NOTICE +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/PARITY_REPORT.md +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/scripts/lineage_scan.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/addons/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/addons/contract.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/addons/dispatch/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/addons/dispatch/event_dispatcher.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/addons/dispatch/tool_interceptor.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/addons/host.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/addons/loader.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/addons/manifest.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/addons/surface.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/boot/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/boot/auth_vault.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/boot/boot.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/boot/contract.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/boot/invocation.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/boot/runners/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/boot/runners/link_runner.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/boot/runners/oneshot_runner.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/boot/runners/registry.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/boot/runners/repl_runner.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/boot/runners/session.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/boot/stages.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/boot/upgrade/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/boot/upgrade/apply.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/boot/upgrade/upgrades.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/briefing/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/briefing/compose.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/briefing/contract.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/briefing/macros.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/briefing/skills.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/capability_deck/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/capability_deck/bridge_ledger/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/capability_deck/bridge_ledger/key.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/capability_deck/bridge_ledger/ledger.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/capability_deck/bridge_ledger/network.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/capability_deck/builtin_bridge.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/capability_deck/cards/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/capability_deck/cards/bg_process.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/capability_deck/cards/memory.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/capability_deck/cards/saas.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/capability_deck/cards/task.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/capability_deck/cards/todo.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/capability_deck/contract.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/capability_deck/manifest.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/capability_deck/provision.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/channels/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/channels/contract.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/channels/framer.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/channels/link/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/channels/link/dialog.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/channels/link/driver.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/channels/link/server.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/channels/oneshot.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/channels/ops.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/channels/session_ops.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/conductor/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/conductor/catalog.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/conductor/conductor.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/conductor/contract.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/conductor/matcher.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/conductor/serialize.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/conductor/signal_hub.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/conductor/skill_parse.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/conductor/transcript_store.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/app.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/components/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/components/banner.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/components/banner_sweep.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/components/emblem.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/components/status_bar.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/contract.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/input/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/input/chord.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/input/dir_reader.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/input/intents.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/input/providers.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/mount.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/overlays/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/overlays/auth.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/overlays/pickers.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/overlays/router.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/overlays/sessions.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/reducer.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/resume_picker.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/slash_commands/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/slash_commands/builtins.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/slash_commands/dynamic.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/slash_commands/integrations.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/slash_commands/transcript.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/slash_commands/workbench.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/startup.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/theme/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/theme/adapter.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/theme/palette.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/theme/resolve.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console/theme/tokens.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console_slash/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console_slash/contract.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console_slash/registry.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console_slash/resolve.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/console_slash/shared.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/entry.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/insight/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/insight/collector.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/insight/replay.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/insight/wrapper.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/kit/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/kit/clipboard_image.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/kit/external_editor.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/kit/image.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/kit/shell.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/kit/tool_fetch.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/launch/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/launch/catalog.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/launch/contract.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/launch/credentials.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/launch/invocation/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/launch/invocation/attachments.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/launch/invocation/flags.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/launch/invocation/read.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/launch/invocation/usage.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/launch/oauth.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/launch/packages.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/launch/pickers.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/py.typed +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/runtime_bridge/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/runtime_bridge/bridges/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/runtime_bridge/bridges/_drive.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/runtime_bridge/bridges/builtins.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/runtime_bridge/bridges/claude_cli.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/runtime_bridge/bridges/codex_cli.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/runtime_bridge/bridges/indusagi_cli.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/runtime_bridge/broker.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/runtime_bridge/contract.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/runtime_bridge/sink.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/sessions/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/sessions/contract.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/sessions/library.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/settings/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/settings/contract.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/settings/manager.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/transcript_export/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/transcript_export/contract.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/transcript_export/publish.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/transcript_export/sgr.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/transcript_export/template.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/transcript_export/theme_bridge.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/window_budget/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/window_budget/budget/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/window_budget/budget/estimate.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/window_budget/budget/gate.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/window_budget/budget/slice.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/window_budget/condenser.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/window_budget/contract.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/window_budget/summarize/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/window_budget/summarize/condense.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/window_budget/summarize/prompt.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/workspace/__init__.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/workspace/brand.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/src/induscode/workspace/locator.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/addons/test_addons.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/boot/test_boot.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/boot/test_invocation.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/boot/test_resume_picker.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/boot/test_session_persist.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/briefing/test_briefing.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/capability_deck/test_cards_provision.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/capability_deck/test_contract_ledger.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/channels/test_channels.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/conductor/test_catalog_store.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/conductor/test_contract_hub_skill.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/conductor/test_queue_fork.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/conductor/test_submit.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/console/test_banner.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/console/test_commands_dynamic.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/console/test_commands_integrations.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/console/test_commands_transcript.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/console/test_commands_workbench.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/console/test_console_app.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/console/test_e2e_pilot.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/console/test_input.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/console/test_overlays.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/console/test_reducer.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/console/test_slash_handlers.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/console/test_startup.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/console/test_theme.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/console_slash/test_slash_core.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/insight/test_insight.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/kit/test_kit.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/launch/test_launch.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/launch/test_packages.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/runtime_bridge/test_runtime_bridge.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/sessions/test_sessions.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/settings/test_settings.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/test_public_api.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/transcript_export/test_transcript_export.py +0 -0
- {induscode-0.1.0 → induscode-0.1.1}/tests/window_budget/test_window_budget.py +0 -0
induscode-0.1.1/PKG-INFO
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: induscode
|
|
3
|
+
Version: 0.1.1
|
|
4
|
+
Summary: Indusagi coding agent — terminal-first AI coding agent on the indusagi framework (Python rebuild)
|
|
5
|
+
Project-URL: Homepage, https://github.com/varunisrani/indusagi-ts
|
|
6
|
+
Project-URL: Repository, https://github.com/varunisrani/indusagi-ts
|
|
7
|
+
Project-URL: Issues, https://github.com/varunisrani/indusagi-ts/issues
|
|
8
|
+
Author: Varun Israni
|
|
9
|
+
Author-email: IndusAGI Team <team@indusagi.ai>
|
|
10
|
+
License-Expression: MIT
|
|
11
|
+
License-File: CREDITS.md
|
|
12
|
+
License-File: NOTICE
|
|
13
|
+
Keywords: agent,ai,cli,coding-agent,llm,mcp,tui
|
|
14
|
+
Classifier: Development Status :: 4 - Beta
|
|
15
|
+
Classifier: Environment :: Console
|
|
16
|
+
Classifier: Intended Audience :: Developers
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
21
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
22
|
+
Classifier: Topic :: Software Development :: Code Generators
|
|
23
|
+
Classifier: Typing :: Typed
|
|
24
|
+
Requires-Python: >=3.11
|
|
25
|
+
Requires-Dist: indusagi[mcp,tui]>=0.1.1
|
|
26
|
+
Requires-Dist: markdown-it-py>=3.0
|
|
27
|
+
Requires-Dist: pygments>=2.18
|
|
28
|
+
Requires-Dist: python-ulid>=2.7
|
|
29
|
+
Provides-Extra: dev
|
|
30
|
+
Requires-Dist: pytest-asyncio>=0.24; extra == 'dev'
|
|
31
|
+
Requires-Dist: pytest>=8; extra == 'dev'
|
|
32
|
+
Description-Content-Type: text/markdown
|
|
33
|
+
|
|
34
|
+
# induscode
|
|
35
|
+
|
|
36
|
+
**A terminal-first AI coding agent for your shell.** A full coding assistant —
|
|
37
|
+
read/write/edit files, run commands, search the codebase, mount MCP servers,
|
|
38
|
+
branch and resume sessions — in a streaming Textual terminal UI. Built on the
|
|
39
|
+
[`indusagi`](https://pypi.org/project/indusagi/) framework.
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
pip install induscode
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
That's it — `induscode` pulls in the `indusagi` framework (with the `mcp` and
|
|
46
|
+
`tui` extras) automatically. Requires **Python 3.11+**.
|
|
47
|
+
|
|
48
|
+
## Quick start
|
|
49
|
+
|
|
50
|
+
Set your provider API key, then run it:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
export ANTHROPIC_API_KEY=sk-ant-... # or OPENAI_API_KEY, GOOGLE_API_KEY, …
|
|
54
|
+
pindus # launch the interactive console
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
The package installs two console scripts — **`pindus`** (primary) and
|
|
58
|
+
**`induscode`** (alias). They're identical; use whichever you like.
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
pindus # interactive Textual console
|
|
62
|
+
pindus -p "explain this repo" # one-shot: print the answer and exit
|
|
63
|
+
pindus -p --json "explain this repo" # headless NDJSON line protocol (for hosts)
|
|
64
|
+
pindus -m claude-haiku-4-5 -p "hi" # pick a model
|
|
65
|
+
pindus --list-models # browse the provider/model catalog
|
|
66
|
+
pindus signin # store credentials (OAuth or API key)
|
|
67
|
+
pindus signin --list # show stored accounts
|
|
68
|
+
pindus --help # full flag table (@file attachments, --, …)
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## In the console
|
|
72
|
+
|
|
73
|
+
- **Streaming markdown** answers, **structured diffs**, and collapsible **tool
|
|
74
|
+
cards** (Ctrl-O to expand)
|
|
75
|
+
- **Slash commands** — `/model`, `/settings`, `/theme`, `/resume`, `/branch`,
|
|
76
|
+
`/timeline`, `/export`, `/keys`, `/help`, and ~20 more
|
|
77
|
+
- **`!command`** to run a shell command inline
|
|
78
|
+
- **Esc** aborts a running turn; **Ctrl-C** exits
|
|
79
|
+
- A footer with live token / cost / **context-window %** for the active model
|
|
80
|
+
- Twelve dialogs: model picker, scoped models, settings, theme (live preview),
|
|
81
|
+
session browser, branch tree, login, and more
|
|
82
|
+
- Branchable session history — resume a prior session, fork from any turn
|
|
83
|
+
|
|
84
|
+
## Configuration
|
|
85
|
+
|
|
86
|
+
- **API keys** come from the standard provider env vars (`ANTHROPIC_API_KEY`,
|
|
87
|
+
`OPENAI_API_KEY`, `GOOGLE_API_KEY`, …), or run `pindus signin` for OAuth.
|
|
88
|
+
- **State** (sessions, settings, credentials) lives under `~/.pindusagi/`.
|
|
89
|
+
Override with `INDUSAGI_CODING_AGENT_DIR` or `INDUSAGI_HOME`.
|
|
90
|
+
- **Per-project settings**: `<cwd>/.pindusagi/settings.json`.
|
|
91
|
+
- **MCP servers**: mount external tool servers with repeatable `--mcp <server>`.
|
|
92
|
+
- **Project context**: `AGENTS.md` / `CLAUDE.md` in the working directory are
|
|
93
|
+
picked up automatically.
|
|
94
|
+
|
|
95
|
+
## What it can do
|
|
96
|
+
|
|
97
|
+
A complete coding-agent tool suite: read / write / edit files, run shell
|
|
98
|
+
commands and background processes, grep and find across the tree, fetch web
|
|
99
|
+
pages and search, a todo planner, MCP-mounted remote tools, and Composio SaaS
|
|
100
|
+
connectors. Works with 849 models across 24 providers via the `indusagi`
|
|
101
|
+
catalog.
|
|
102
|
+
|
|
103
|
+
## Development
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
# install the framework editable first, then the agent
|
|
107
|
+
pip install -e ../indusagi-python-rebuild
|
|
108
|
+
pip install -e ".[dev]"
|
|
109
|
+
pytest # 703 tests; network-free (mock connector, Textual Pilot)
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## License
|
|
113
|
+
|
|
114
|
+
MIT. See [NOTICE](NOTICE) and [CREDITS.md](CREDITS.md).
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# induscode
|
|
2
|
+
|
|
3
|
+
**A terminal-first AI coding agent for your shell.** A full coding assistant —
|
|
4
|
+
read/write/edit files, run commands, search the codebase, mount MCP servers,
|
|
5
|
+
branch and resume sessions — in a streaming Textual terminal UI. Built on the
|
|
6
|
+
[`indusagi`](https://pypi.org/project/indusagi/) framework.
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
pip install induscode
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
That's it — `induscode` pulls in the `indusagi` framework (with the `mcp` and
|
|
13
|
+
`tui` extras) automatically. Requires **Python 3.11+**.
|
|
14
|
+
|
|
15
|
+
## Quick start
|
|
16
|
+
|
|
17
|
+
Set your provider API key, then run it:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
export ANTHROPIC_API_KEY=sk-ant-... # or OPENAI_API_KEY, GOOGLE_API_KEY, …
|
|
21
|
+
pindus # launch the interactive console
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
The package installs two console scripts — **`pindus`** (primary) and
|
|
25
|
+
**`induscode`** (alias). They're identical; use whichever you like.
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
pindus # interactive Textual console
|
|
29
|
+
pindus -p "explain this repo" # one-shot: print the answer and exit
|
|
30
|
+
pindus -p --json "explain this repo" # headless NDJSON line protocol (for hosts)
|
|
31
|
+
pindus -m claude-haiku-4-5 -p "hi" # pick a model
|
|
32
|
+
pindus --list-models # browse the provider/model catalog
|
|
33
|
+
pindus signin # store credentials (OAuth or API key)
|
|
34
|
+
pindus signin --list # show stored accounts
|
|
35
|
+
pindus --help # full flag table (@file attachments, --, …)
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## In the console
|
|
39
|
+
|
|
40
|
+
- **Streaming markdown** answers, **structured diffs**, and collapsible **tool
|
|
41
|
+
cards** (Ctrl-O to expand)
|
|
42
|
+
- **Slash commands** — `/model`, `/settings`, `/theme`, `/resume`, `/branch`,
|
|
43
|
+
`/timeline`, `/export`, `/keys`, `/help`, and ~20 more
|
|
44
|
+
- **`!command`** to run a shell command inline
|
|
45
|
+
- **Esc** aborts a running turn; **Ctrl-C** exits
|
|
46
|
+
- A footer with live token / cost / **context-window %** for the active model
|
|
47
|
+
- Twelve dialogs: model picker, scoped models, settings, theme (live preview),
|
|
48
|
+
session browser, branch tree, login, and more
|
|
49
|
+
- Branchable session history — resume a prior session, fork from any turn
|
|
50
|
+
|
|
51
|
+
## Configuration
|
|
52
|
+
|
|
53
|
+
- **API keys** come from the standard provider env vars (`ANTHROPIC_API_KEY`,
|
|
54
|
+
`OPENAI_API_KEY`, `GOOGLE_API_KEY`, …), or run `pindus signin` for OAuth.
|
|
55
|
+
- **State** (sessions, settings, credentials) lives under `~/.pindusagi/`.
|
|
56
|
+
Override with `INDUSAGI_CODING_AGENT_DIR` or `INDUSAGI_HOME`.
|
|
57
|
+
- **Per-project settings**: `<cwd>/.pindusagi/settings.json`.
|
|
58
|
+
- **MCP servers**: mount external tool servers with repeatable `--mcp <server>`.
|
|
59
|
+
- **Project context**: `AGENTS.md` / `CLAUDE.md` in the working directory are
|
|
60
|
+
picked up automatically.
|
|
61
|
+
|
|
62
|
+
## What it can do
|
|
63
|
+
|
|
64
|
+
A complete coding-agent tool suite: read / write / edit files, run shell
|
|
65
|
+
commands and background processes, grep and find across the tree, fetch web
|
|
66
|
+
pages and search, a todo planner, MCP-mounted remote tools, and Composio SaaS
|
|
67
|
+
connectors. Works with 849 models across 24 providers via the `indusagi`
|
|
68
|
+
catalog.
|
|
69
|
+
|
|
70
|
+
## Development
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
# install the framework editable first, then the agent
|
|
74
|
+
pip install -e ../indusagi-python-rebuild
|
|
75
|
+
pip install -e ".[dev]"
|
|
76
|
+
pytest # 703 tests; network-free (mock connector, Textual Pilot)
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## License
|
|
80
|
+
|
|
81
|
+
MIT. See [NOTICE](NOTICE) and [CREDITS.md](CREDITS.md).
|
|
@@ -5,10 +5,10 @@ build-backend = "hatchling.build"
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "induscode"
|
|
7
7
|
# Single source of truth for the package version. The Python rebuild restarts
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
11
|
-
version = "0.1.
|
|
8
|
+
# it ports the TypeScript lineage `indusagi-coding-agent`, which was at VERSION
|
|
9
|
+
# 0.1.62 (indus-code-rebuild/src/workspace/brand.ts) when this port began.
|
|
10
|
+
# Runtime code reads this via importlib.metadata — never duplicate it.
|
|
11
|
+
version = "0.1.1"
|
|
12
12
|
description = "Indusagi coding agent — terminal-first AI coding agent on the indusagi framework (Python rebuild)"
|
|
13
13
|
authors = [{ name = "Varun Israni" }, { name = "IndusAGI Team", email = "team@indusagi.ai" }]
|
|
14
14
|
readme = "README.md"
|
|
@@ -32,10 +32,10 @@ dependencies = [
|
|
|
32
32
|
# The framework, from PyPI. The [mcp,tui] extras are required: the framework's
|
|
33
33
|
# shell_app barrel (which our workspace layer composes) imports `mcp` and
|
|
34
34
|
# `textual` eagerly, and the agent's own MCP enrollment + Textual console need
|
|
35
|
-
# them anyway. Pinned to the
|
|
35
|
+
# them anyway. Pinned to the published framework (>=0.1.1).
|
|
36
36
|
# For local dev, editable-install the framework first:
|
|
37
37
|
# pip install -e ../indusagi-python-rebuild (then pip install -e .)
|
|
38
|
-
"indusagi[mcp,tui]>=0.1.
|
|
38
|
+
"indusagi[mcp,tui]>=0.1.1",
|
|
39
39
|
"markdown-it-py>=3.0", # transcript-export markdown (replaces marked)
|
|
40
40
|
"pygments>=2.18", # transcript-export highlighting (replaces highlight.js)
|
|
41
41
|
"python-ulid>=2.7", # bridge-ledger ULID keys (capability_deck)
|
|
@@ -36,9 +36,11 @@ from induscode.workspace import (
|
|
|
36
36
|
def test_version_is_exposed_and_single_sourced() -> None:
|
|
37
37
|
assert induscode.__version__ == VERSION
|
|
38
38
|
assert induscode.VERSION == VERSION
|
|
39
|
-
# Installed metadata is the single source (pyproject.toml)
|
|
39
|
+
# Installed metadata is the single source (pyproject.toml) — no hardcoded
|
|
40
|
+
# literal here, so version bumps never need a test edit.
|
|
40
41
|
assert VERSION == metadata.version("induscode")
|
|
41
|
-
|
|
42
|
+
# Sanity: a real dotted PEP 440-ish release string (e.g. "0.1.1").
|
|
43
|
+
assert VERSION and VERSION[0].isdigit() and "." in VERSION
|
|
42
44
|
|
|
43
45
|
|
|
44
46
|
# ---------------------------------------------------------------------------
|
induscode-0.1.0/PKG-INFO
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: induscode
|
|
3
|
-
Version: 0.1.0
|
|
4
|
-
Summary: Indusagi coding agent — terminal-first AI coding agent on the indusagi framework (Python rebuild)
|
|
5
|
-
Project-URL: Homepage, https://github.com/varunisrani/indusagi-ts
|
|
6
|
-
Project-URL: Repository, https://github.com/varunisrani/indusagi-ts
|
|
7
|
-
Project-URL: Issues, https://github.com/varunisrani/indusagi-ts/issues
|
|
8
|
-
Author: Varun Israni
|
|
9
|
-
Author-email: IndusAGI Team <team@indusagi.ai>
|
|
10
|
-
License-Expression: MIT
|
|
11
|
-
License-File: CREDITS.md
|
|
12
|
-
License-File: NOTICE
|
|
13
|
-
Keywords: agent,ai,cli,coding-agent,llm,mcp,tui
|
|
14
|
-
Classifier: Development Status :: 4 - Beta
|
|
15
|
-
Classifier: Environment :: Console
|
|
16
|
-
Classifier: Intended Audience :: Developers
|
|
17
|
-
Classifier: Programming Language :: Python :: 3
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
21
|
-
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
22
|
-
Classifier: Topic :: Software Development :: Code Generators
|
|
23
|
-
Classifier: Typing :: Typed
|
|
24
|
-
Requires-Python: >=3.11
|
|
25
|
-
Requires-Dist: indusagi[mcp,tui]>=0.1.0
|
|
26
|
-
Requires-Dist: markdown-it-py>=3.0
|
|
27
|
-
Requires-Dist: pygments>=2.18
|
|
28
|
-
Requires-Dist: python-ulid>=2.7
|
|
29
|
-
Provides-Extra: dev
|
|
30
|
-
Requires-Dist: pytest-asyncio>=0.24; extra == 'dev'
|
|
31
|
-
Requires-Dist: pytest>=8; extra == 'dev'
|
|
32
|
-
Description-Content-Type: text/markdown
|
|
33
|
-
|
|
34
|
-
# induscode (Python rebuild)
|
|
35
|
-
|
|
36
|
-
Terminal-first AI coding agent on the [indusagi framework](../indusagi-python-rebuild)
|
|
37
|
-
— the Python port of the TypeScript `indusagi-coding-agent` (lineage v0.1.62).
|
|
38
|
-
Console scripts: **`pindus`** (primary) and **`induscode`** (alias).
|
|
39
|
-
|
|
40
|
-
Port plan: `../indus-code-rebuild/PYTHON_PORT_PLAN/PLAN.md` (milestones M0–M6).
|
|
41
|
-
Current status: **all milestones built** — conductor turn loop, runtime bridge,
|
|
42
|
-
capability deck, addons, headless CLI (launch/boot/channels/sessions), Textual
|
|
43
|
-
console with 26 slash commands, transcript export, and packaging. **649 tests
|
|
44
|
-
green**; lineage scan clean; wheel verified in a fresh venv.
|
|
45
|
-
|
|
46
|
-
## Install (from wheels)
|
|
47
|
-
|
|
48
|
-
The `indusagi` framework is a local dependency (not on PyPI), so install its
|
|
49
|
-
wheel first — with the `[mcp,tui]` extras, which the agent requires — then the
|
|
50
|
-
`induscode` wheel:
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
python3.13 -m venv agent-venv
|
|
54
|
-
agent-venv/bin/pip install '../indusagi-python-rebuild/dist/indusagi-0.1.0-py3-none-any.whl[mcp,tui]'
|
|
55
|
-
agent-venv/bin/pip install dist/induscode-0.1.0-py3-none-any.whl
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
Build the wheels with `python -m build` in each project if `dist/` is missing
|
|
59
|
-
or stale.
|
|
60
|
-
|
|
61
|
-
## Run
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
pindus # interactive Textual console
|
|
65
|
-
pindus -p "explain this repo" # one-shot: print the result and exit
|
|
66
|
-
pindus -p --json "explain this repo" # headless NDJSON line protocol
|
|
67
|
-
pindus --list-models # provider/model catalog
|
|
68
|
-
pindus signin # store credentials (OAuth or API key)
|
|
69
|
-
pindus signin --list # show stored accounts
|
|
70
|
-
pindus --help # full flag table (@file attachments, --, etc.)
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
State lives in **`~/.pindusagi`** (shared with the framework; the
|
|
74
|
-
`INDUSAGI_CODING_AGENT_DIR` then `INDUSAGI_HOME` environment variables
|
|
75
|
-
override). Credentials are stored in the agent's multi-account vault
|
|
76
|
-
(`auth.json`, mode 0600).
|
|
77
|
-
|
|
78
|
-
## Dev setup
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
python3.13 -m venv .venv
|
|
82
|
-
.venv/bin/pip install -e ../indusagi-python-rebuild -e ".[dev]"
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
## Gates
|
|
86
|
-
|
|
87
|
-
```bash
|
|
88
|
-
.venv/bin/pytest -q # test suite — 649 tests, never weakened
|
|
89
|
-
.venv/bin/python scripts/lineage_scan.py # clean-room lineage guard
|
|
90
|
-
.venv/bin/pindus --version # smoke: prints "induscode 0.1.0"
|
|
91
|
-
.venv/bin/python -m build # sdist + wheel into dist/
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
The packaging gate additionally installs both wheels into a throwaway venv and
|
|
95
|
-
runs `--version`, `--help`, `--list-models`, and the subsystem imports.
|
|
96
|
-
|
|
97
|
-
MIT © Varun Israni — see `NOTICE` and `CREDITS.md`.
|
induscode-0.1.0/README.md
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
# induscode (Python rebuild)
|
|
2
|
-
|
|
3
|
-
Terminal-first AI coding agent on the [indusagi framework](../indusagi-python-rebuild)
|
|
4
|
-
— the Python port of the TypeScript `indusagi-coding-agent` (lineage v0.1.62).
|
|
5
|
-
Console scripts: **`pindus`** (primary) and **`induscode`** (alias).
|
|
6
|
-
|
|
7
|
-
Port plan: `../indus-code-rebuild/PYTHON_PORT_PLAN/PLAN.md` (milestones M0–M6).
|
|
8
|
-
Current status: **all milestones built** — conductor turn loop, runtime bridge,
|
|
9
|
-
capability deck, addons, headless CLI (launch/boot/channels/sessions), Textual
|
|
10
|
-
console with 26 slash commands, transcript export, and packaging. **649 tests
|
|
11
|
-
green**; lineage scan clean; wheel verified in a fresh venv.
|
|
12
|
-
|
|
13
|
-
## Install (from wheels)
|
|
14
|
-
|
|
15
|
-
The `indusagi` framework is a local dependency (not on PyPI), so install its
|
|
16
|
-
wheel first — with the `[mcp,tui]` extras, which the agent requires — then the
|
|
17
|
-
`induscode` wheel:
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
python3.13 -m venv agent-venv
|
|
21
|
-
agent-venv/bin/pip install '../indusagi-python-rebuild/dist/indusagi-0.1.0-py3-none-any.whl[mcp,tui]'
|
|
22
|
-
agent-venv/bin/pip install dist/induscode-0.1.0-py3-none-any.whl
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
Build the wheels with `python -m build` in each project if `dist/` is missing
|
|
26
|
-
or stale.
|
|
27
|
-
|
|
28
|
-
## Run
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
pindus # interactive Textual console
|
|
32
|
-
pindus -p "explain this repo" # one-shot: print the result and exit
|
|
33
|
-
pindus -p --json "explain this repo" # headless NDJSON line protocol
|
|
34
|
-
pindus --list-models # provider/model catalog
|
|
35
|
-
pindus signin # store credentials (OAuth or API key)
|
|
36
|
-
pindus signin --list # show stored accounts
|
|
37
|
-
pindus --help # full flag table (@file attachments, --, etc.)
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
State lives in **`~/.pindusagi`** (shared with the framework; the
|
|
41
|
-
`INDUSAGI_CODING_AGENT_DIR` then `INDUSAGI_HOME` environment variables
|
|
42
|
-
override). Credentials are stored in the agent's multi-account vault
|
|
43
|
-
(`auth.json`, mode 0600).
|
|
44
|
-
|
|
45
|
-
## Dev setup
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
python3.13 -m venv .venv
|
|
49
|
-
.venv/bin/pip install -e ../indusagi-python-rebuild -e ".[dev]"
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
## Gates
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
.venv/bin/pytest -q # test suite — 649 tests, never weakened
|
|
56
|
-
.venv/bin/python scripts/lineage_scan.py # clean-room lineage guard
|
|
57
|
-
.venv/bin/pindus --version # smoke: prints "induscode 0.1.0"
|
|
58
|
-
.venv/bin/python -m build # sdist + wheel into dist/
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
The packaging gate additionally installs both wheels into a throwaway venv and
|
|
62
|
-
runs `--version`, `--help`, `--list-models`, and the subsystem imports.
|
|
63
|
-
|
|
64
|
-
MIT © Varun Israni — see `NOTICE` and `CREDITS.md`.
|
|
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
|