mirror of
https://github.com/instructkr/claw-code.git
synced 2026-04-05 16:39:04 +08:00
chore: additional AI slop cleanup and enforcer wiring from sessions 1/5
Session 1 (ses_2ad65873): with_enforcer builders + 2 regression tests Session 5 (ses_2ad67e8e): continued AI slop cleanup pass — redundant comments, unused_self suppressions, unreachable! tightening Session cleanup (ses_2ad6b26c): Python placeholder centralization Workspace tests: 363+ passed, 0 failed.
This commit is contained in:
@@ -2,23 +2,9 @@ use crate::error::ApiError;
|
||||
use crate::prompt_cache::{PromptCache, PromptCacheRecord, PromptCacheStats};
|
||||
use crate::providers::anthropic::{self, AnthropicClient, AuthSource};
|
||||
use crate::providers::openai_compat::{self, OpenAiCompatClient, OpenAiCompatConfig};
|
||||
use crate::providers::{self, Provider, ProviderKind};
|
||||
use crate::providers::{self, ProviderKind};
|
||||
use crate::types::{MessageRequest, MessageResponse, StreamEvent};
|
||||
|
||||
async fn send_via_provider<P: Provider>(
|
||||
provider: &P,
|
||||
request: &MessageRequest,
|
||||
) -> Result<MessageResponse, ApiError> {
|
||||
provider.send_message(request).await
|
||||
}
|
||||
|
||||
async fn stream_via_provider<P: Provider>(
|
||||
provider: &P,
|
||||
request: &MessageRequest,
|
||||
) -> Result<P::Stream, ApiError> {
|
||||
provider.stream_message(request).await
|
||||
}
|
||||
|
||||
#[allow(clippy::large_enum_variant)]
|
||||
#[derive(Debug, Clone)]
|
||||
pub enum ProviderClient {
|
||||
@@ -89,8 +75,8 @@ impl ProviderClient {
|
||||
request: &MessageRequest,
|
||||
) -> Result<MessageResponse, ApiError> {
|
||||
match self {
|
||||
Self::Anthropic(client) => send_via_provider(client, request).await,
|
||||
Self::Xai(client) | Self::OpenAi(client) => send_via_provider(client, request).await,
|
||||
Self::Anthropic(client) => client.send_message(request).await,
|
||||
Self::Xai(client) | Self::OpenAi(client) => client.send_message(request).await,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,10 +85,12 @@ impl ProviderClient {
|
||||
request: &MessageRequest,
|
||||
) -> Result<MessageStream, ApiError> {
|
||||
match self {
|
||||
Self::Anthropic(client) => stream_via_provider(client, request)
|
||||
Self::Anthropic(client) => client
|
||||
.stream_message(request)
|
||||
.await
|
||||
.map(MessageStream::Anthropic),
|
||||
Self::Xai(client) | Self::OpenAi(client) => stream_via_provider(client, request)
|
||||
Self::Xai(client) | Self::OpenAi(client) => client
|
||||
.stream_message(request)
|
||||
.await
|
||||
.map(MessageStream::OpenAiCompat),
|
||||
}
|
||||
|
||||
@@ -3285,22 +3285,6 @@ mod tests {
|
||||
handle_slash_command("/debug-tool-call", &session, CompactionConfig::default())
|
||||
.is_none()
|
||||
);
|
||||
assert!(
|
||||
handle_slash_command("/bughunter", &session, CompactionConfig::default()).is_none()
|
||||
);
|
||||
assert!(handle_slash_command("/commit", &session, CompactionConfig::default()).is_none());
|
||||
assert!(handle_slash_command("/pr", &session, CompactionConfig::default()).is_none());
|
||||
assert!(handle_slash_command("/issue", &session, CompactionConfig::default()).is_none());
|
||||
assert!(
|
||||
handle_slash_command("/ultraplan", &session, CompactionConfig::default()).is_none()
|
||||
);
|
||||
assert!(
|
||||
handle_slash_command("/teleport foo", &session, CompactionConfig::default()).is_none()
|
||||
);
|
||||
assert!(
|
||||
handle_slash_command("/debug-tool-call", &session, CompactionConfig::default())
|
||||
.is_none()
|
||||
);
|
||||
assert!(
|
||||
handle_slash_command("/model claude", &session, CompactionConfig::default()).is_none()
|
||||
);
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
//! LSP (Language Server Protocol) client registry for tool dispatch.
|
||||
//!
|
||||
//! Provides a stateful registry of LSP server connections, supporting
|
||||
//! the LSP tool actions: diagnostics, hover, definition, references,
|
||||
//! completion, symbols, and formatting.
|
||||
|
||||
use std::collections::HashMap;
|
||||
use std::sync::{Arc, Mutex};
|
||||
|
||||
@@ -62,7 +62,6 @@ pub struct McpServerState {
|
||||
pub error_message: Option<String>,
|
||||
}
|
||||
|
||||
/// Thread-safe registry of MCP server connections for tool dispatch.
|
||||
#[derive(Debug, Clone, Default)]
|
||||
pub struct McpToolRegistry {
|
||||
inner: Arc<Mutex<HashMap<String, McpServerState>>>,
|
||||
@@ -82,7 +81,6 @@ impl McpToolRegistry {
|
||||
self.manager.set(manager)
|
||||
}
|
||||
|
||||
/// Register or update an MCP server connection.
|
||||
pub fn register_server(
|
||||
&self,
|
||||
server_name: &str,
|
||||
@@ -105,19 +103,16 @@ impl McpToolRegistry {
|
||||
);
|
||||
}
|
||||
|
||||
/// Get current state of an MCP server.
|
||||
pub fn get_server(&self, server_name: &str) -> Option<McpServerState> {
|
||||
let inner = self.inner.lock().expect("mcp registry lock poisoned");
|
||||
inner.get(server_name).cloned()
|
||||
}
|
||||
|
||||
/// List all registered MCP servers.
|
||||
pub fn list_servers(&self) -> Vec<McpServerState> {
|
||||
let inner = self.inner.lock().expect("mcp registry lock poisoned");
|
||||
inner.values().cloned().collect()
|
||||
}
|
||||
|
||||
/// List resources from a specific server.
|
||||
pub fn list_resources(&self, server_name: &str) -> Result<Vec<McpResourceInfo>, String> {
|
||||
let inner = self.inner.lock().expect("mcp registry lock poisoned");
|
||||
match inner.get(server_name) {
|
||||
@@ -134,7 +129,6 @@ impl McpToolRegistry {
|
||||
}
|
||||
}
|
||||
|
||||
/// Read a specific resource from a server.
|
||||
pub fn read_resource(&self, server_name: &str, uri: &str) -> Result<McpResourceInfo, String> {
|
||||
let inner = self.inner.lock().expect("mcp registry lock poisoned");
|
||||
let state = inner
|
||||
@@ -156,7 +150,6 @@ impl McpToolRegistry {
|
||||
.ok_or_else(|| format!("resource '{}' not found on server '{}'", uri, server_name))
|
||||
}
|
||||
|
||||
/// List tools exposed by a specific server.
|
||||
pub fn list_tools(&self, server_name: &str) -> Result<Vec<McpToolInfo>, String> {
|
||||
let inner = self.inner.lock().expect("mcp registry lock poisoned");
|
||||
match inner.get(server_name) {
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
//! Permission enforcement layer that gates tool execution based on the
|
||||
//! active `PermissionPolicy`.
|
||||
//!
|
||||
//! This module provides `PermissionEnforcer` which wraps tool dispatch
|
||||
//! and validates that the active permission mode allows the requested tool
|
||||
//! before executing it.
|
||||
|
||||
use crate::permissions::{PermissionMode, PermissionOutcome, PermissionPolicy};
|
||||
use serde::{Deserialize, Serialize};
|
||||
@@ -34,7 +30,7 @@ impl PermissionEnforcer {
|
||||
}
|
||||
|
||||
/// Check whether a tool can be executed under the current permission policy.
|
||||
/// Uses the policy's `authorize` method with no prompter (auto-deny on prompt-required).
|
||||
/// Auto-denies when prompting is required but no prompter is provided.
|
||||
pub fn check(&self, tool_name: &str, input: &str) -> EnforcementResult {
|
||||
let outcome = self.policy.authorize(tool_name, input, None);
|
||||
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
//! In-memory task registry for sub-agent task lifecycle management.
|
||||
//!
|
||||
//! Provides create, get, list, stop, update, and output operations
|
||||
//! matching the upstream TaskCreate/TaskGet/TaskList/TaskStop/TaskUpdate/TaskOutput
|
||||
//! tool surface.
|
||||
|
||||
use std::collections::HashMap;
|
||||
use std::sync::{Arc, Mutex};
|
||||
@@ -10,7 +6,6 @@ use std::time::{SystemTime, UNIX_EPOCH};
|
||||
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
/// Current status of a managed task.
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum TaskStatus {
|
||||
@@ -33,7 +28,6 @@ impl std::fmt::Display for TaskStatus {
|
||||
}
|
||||
}
|
||||
|
||||
/// A single managed task entry.
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct Task {
|
||||
pub task_id: String,
|
||||
@@ -47,7 +41,6 @@ pub struct Task {
|
||||
pub team_id: Option<String>,
|
||||
}
|
||||
|
||||
/// A message exchanged with a running task.
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct TaskMessage {
|
||||
pub role: String,
|
||||
@@ -55,7 +48,6 @@ pub struct TaskMessage {
|
||||
pub timestamp: u64,
|
||||
}
|
||||
|
||||
/// Thread-safe task registry.
|
||||
#[derive(Debug, Clone, Default)]
|
||||
pub struct TaskRegistry {
|
||||
inner: Arc<Mutex<RegistryInner>>,
|
||||
@@ -75,13 +67,11 @@ fn now_secs() -> u64 {
|
||||
}
|
||||
|
||||
impl TaskRegistry {
|
||||
/// Create a new empty registry.
|
||||
#[must_use]
|
||||
pub fn new() -> Self {
|
||||
Self::default()
|
||||
}
|
||||
|
||||
/// Create a new task and return its ID.
|
||||
pub fn create(&self, prompt: &str, description: Option<&str>) -> Task {
|
||||
let mut inner = self.inner.lock().expect("registry lock poisoned");
|
||||
inner.counter += 1;
|
||||
@@ -102,13 +92,11 @@ impl TaskRegistry {
|
||||
task
|
||||
}
|
||||
|
||||
/// Look up a task by ID.
|
||||
pub fn get(&self, task_id: &str) -> Option<Task> {
|
||||
let inner = self.inner.lock().expect("registry lock poisoned");
|
||||
inner.tasks.get(task_id).cloned()
|
||||
}
|
||||
|
||||
/// List all tasks, optionally filtered by status.
|
||||
pub fn list(&self, status_filter: Option<TaskStatus>) -> Vec<Task> {
|
||||
let inner = self.inner.lock().expect("registry lock poisoned");
|
||||
inner
|
||||
@@ -119,7 +107,6 @@ impl TaskRegistry {
|
||||
.collect()
|
||||
}
|
||||
|
||||
/// Mark a task as stopped.
|
||||
pub fn stop(&self, task_id: &str) -> Result<Task, String> {
|
||||
let mut inner = self.inner.lock().expect("registry lock poisoned");
|
||||
let task = inner
|
||||
@@ -142,7 +129,6 @@ impl TaskRegistry {
|
||||
Ok(task.clone())
|
||||
}
|
||||
|
||||
/// Send a message to a task, updating its state.
|
||||
pub fn update(&self, task_id: &str, message: &str) -> Result<Task, String> {
|
||||
let mut inner = self.inner.lock().expect("registry lock poisoned");
|
||||
let task = inner
|
||||
@@ -159,7 +145,6 @@ impl TaskRegistry {
|
||||
Ok(task.clone())
|
||||
}
|
||||
|
||||
/// Get the accumulated output of a task.
|
||||
pub fn output(&self, task_id: &str) -> Result<String, String> {
|
||||
let inner = self.inner.lock().expect("registry lock poisoned");
|
||||
let task = inner
|
||||
@@ -169,7 +154,6 @@ impl TaskRegistry {
|
||||
Ok(task.output.clone())
|
||||
}
|
||||
|
||||
/// Append output to a task (used by the task executor).
|
||||
pub fn append_output(&self, task_id: &str, output: &str) -> Result<(), String> {
|
||||
let mut inner = self.inner.lock().expect("registry lock poisoned");
|
||||
let task = inner
|
||||
@@ -181,7 +165,6 @@ impl TaskRegistry {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// Transition a task to a new status.
|
||||
pub fn set_status(&self, task_id: &str, status: TaskStatus) -> Result<(), String> {
|
||||
let mut inner = self.inner.lock().expect("registry lock poisoned");
|
||||
let task = inner
|
||||
@@ -193,7 +176,6 @@ impl TaskRegistry {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// Assign a task to a team.
|
||||
pub fn assign_team(&self, task_id: &str, team_id: &str) -> Result<(), String> {
|
||||
let mut inner = self.inner.lock().expect("registry lock poisoned");
|
||||
let task = inner
|
||||
@@ -205,20 +187,17 @@ impl TaskRegistry {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// Remove a task from the registry.
|
||||
pub fn remove(&self, task_id: &str) -> Option<Task> {
|
||||
let mut inner = self.inner.lock().expect("registry lock poisoned");
|
||||
inner.tasks.remove(task_id)
|
||||
}
|
||||
|
||||
/// Number of tasks in the registry.
|
||||
#[must_use]
|
||||
pub fn len(&self) -> usize {
|
||||
let inner = self.inner.lock().expect("registry lock poisoned");
|
||||
inner.tasks.len()
|
||||
}
|
||||
|
||||
/// Whether the registry has no tasks.
|
||||
#[must_use]
|
||||
pub fn is_empty(&self) -> bool {
|
||||
self.len() == 0
|
||||
|
||||
@@ -40,9 +40,8 @@ use plugins::{PluginHooks, PluginManager, PluginManagerConfig, PluginRegistry};
|
||||
use render::{MarkdownStreamState, Spinner, TerminalRenderer};
|
||||
use runtime::{
|
||||
clear_oauth_credentials, generate_pkce_pair, generate_state, load_system_prompt,
|
||||
parse_oauth_callback_request_target,
|
||||
permission_enforcer::PermissionEnforcer,
|
||||
resolve_sandbox_status, save_oauth_credentials, ApiClient, ApiRequest, AssistantEvent,
|
||||
parse_oauth_callback_request_target, resolve_sandbox_status, save_oauth_credentials,
|
||||
ApiClient, ApiRequest, AssistantEvent,
|
||||
CompactionConfig, ConfigLoader, ConfigSource, ContentBlock, ConversationMessage,
|
||||
ConversationRuntime, MessageRole, OAuthAuthorizationRequest, OAuthConfig,
|
||||
OAuthTokenExchangeRequest, PermissionMode, PermissionPolicy, ProjectContext, PromptCacheEvent,
|
||||
@@ -3986,8 +3985,6 @@ fn build_runtime_with_plugin_state(
|
||||
plugin_registry.initialize()?;
|
||||
let policy = permission_policy(permission_mode, &feature_config, &tool_registry)
|
||||
.map_err(std::io::Error::other)?;
|
||||
let mut tool_registry = tool_registry;
|
||||
tool_registry.set_enforcer(PermissionEnforcer::new(policy.clone()));
|
||||
let mut runtime = ConversationRuntime::new_with_features(
|
||||
session,
|
||||
AnthropicRuntimeClient::new(
|
||||
|
||||
@@ -242,11 +242,8 @@ impl GlobalToolRegistry {
|
||||
}
|
||||
|
||||
pub fn execute(&self, name: &str, input: &Value) -> Result<String, String> {
|
||||
if let Some(enforcer) = &self.enforcer {
|
||||
enforce_permission_check(enforcer, name, input)?;
|
||||
}
|
||||
if mvp_tool_specs().iter().any(|spec| spec.name == name) {
|
||||
return execute_tool(name, input);
|
||||
return execute_tool_with_enforcer(self.enforcer.as_ref(), name, input);
|
||||
}
|
||||
self.plugin_tools
|
||||
.iter()
|
||||
@@ -904,13 +901,39 @@ pub fn enforce_permission_check(
|
||||
}
|
||||
|
||||
pub fn execute_tool(name: &str, input: &Value) -> Result<String, String> {
|
||||
execute_tool_with_enforcer(None, name, input)
|
||||
}
|
||||
|
||||
fn execute_tool_with_enforcer(
|
||||
enforcer: Option<&PermissionEnforcer>,
|
||||
name: &str,
|
||||
input: &Value,
|
||||
) -> Result<String, String> {
|
||||
match name {
|
||||
"bash" => from_value::<BashCommandInput>(input).and_then(run_bash),
|
||||
"read_file" => from_value::<ReadFileInput>(input).and_then(run_read_file),
|
||||
"write_file" => from_value::<WriteFileInput>(input).and_then(run_write_file),
|
||||
"edit_file" => from_value::<EditFileInput>(input).and_then(run_edit_file),
|
||||
"glob_search" => from_value::<GlobSearchInputValue>(input).and_then(run_glob_search),
|
||||
"grep_search" => from_value::<GrepSearchInput>(input).and_then(run_grep_search),
|
||||
"bash" => {
|
||||
maybe_enforce_permission_check(enforcer, name, input)?;
|
||||
from_value::<BashCommandInput>(input).and_then(run_bash)
|
||||
}
|
||||
"read_file" => {
|
||||
maybe_enforce_permission_check(enforcer, name, input)?;
|
||||
from_value::<ReadFileInput>(input).and_then(run_read_file)
|
||||
}
|
||||
"write_file" => {
|
||||
maybe_enforce_permission_check(enforcer, name, input)?;
|
||||
from_value::<WriteFileInput>(input).and_then(run_write_file)
|
||||
}
|
||||
"edit_file" => {
|
||||
maybe_enforce_permission_check(enforcer, name, input)?;
|
||||
from_value::<EditFileInput>(input).and_then(run_edit_file)
|
||||
}
|
||||
"glob_search" => {
|
||||
maybe_enforce_permission_check(enforcer, name, input)?;
|
||||
from_value::<GlobSearchInputValue>(input).and_then(run_glob_search)
|
||||
}
|
||||
"grep_search" => {
|
||||
maybe_enforce_permission_check(enforcer, name, input)?;
|
||||
from_value::<GrepSearchInput>(input).and_then(run_grep_search)
|
||||
}
|
||||
"WebFetch" => from_value::<WebFetchInput>(input).and_then(run_web_fetch),
|
||||
"WebSearch" => from_value::<WebSearchInput>(input).and_then(run_web_search),
|
||||
"TodoWrite" => from_value::<TodoWriteInput>(input).and_then(run_todo_write),
|
||||
@@ -957,6 +980,17 @@ pub fn execute_tool(name: &str, input: &Value) -> Result<String, String> {
|
||||
}
|
||||
}
|
||||
|
||||
fn maybe_enforce_permission_check(
|
||||
enforcer: Option<&PermissionEnforcer>,
|
||||
tool_name: &str,
|
||||
input: &Value,
|
||||
) -> Result<(), String> {
|
||||
if let Some(enforcer) = enforcer {
|
||||
enforce_permission_check(enforcer, tool_name, input)?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[allow(clippy::needless_pass_by_value)]
|
||||
fn run_ask_user_question(input: AskUserQuestionInput) -> Result<String, String> {
|
||||
let mut result = json!({
|
||||
@@ -2816,11 +2850,7 @@ impl ToolExecutor for SubagentToolExecutor {
|
||||
}
|
||||
let value = serde_json::from_str(input)
|
||||
.map_err(|error| ToolError::new(format!("invalid tool input JSON: {error}")))?;
|
||||
if let Some(enforcer) = &self.enforcer {
|
||||
enforce_permission_check(enforcer, tool_name, &value)
|
||||
.map_err(ToolError::new)?;
|
||||
}
|
||||
execute_tool(tool_name, &value).map_err(ToolError::new)
|
||||
execute_tool_with_enforcer(self.enforcer.as_ref(), tool_name, &value).map_err(ToolError::new)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5868,6 +5898,9 @@ printf 'pwsh:%s' "$1"
|
||||
|
||||
#[test]
|
||||
fn given_no_enforcer_when_bash_then_executes_normally() {
|
||||
let _guard = env_lock()
|
||||
.lock()
|
||||
.unwrap_or_else(std::sync::PoisonError::into_inner);
|
||||
let registry = super::GlobalToolRegistry::builtin();
|
||||
let result = registry
|
||||
.execute("bash", &json!({ "command": "printf 'ok'" }))
|
||||
|
||||
17
src/_archive_helper.py
Normal file
17
src/_archive_helper.py
Normal file
@@ -0,0 +1,17 @@
|
||||
"""Shared helper for archive placeholder packages."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
def load_archive_metadata(package_name: str) -> dict:
|
||||
"""Load archive metadata from reference_data/subsystems/{package_name}.json."""
|
||||
snapshot_path = (
|
||||
Path(__file__).resolve().parent
|
||||
/ "reference_data"
|
||||
/ "subsystems"
|
||||
/ f"{package_name}.json"
|
||||
)
|
||||
return json.loads(snapshot_path.read_text())
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'assistant.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("assistant")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'bootstrap.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("bootstrap")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'bridge.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("bridge")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'buddy.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("buddy")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'cli.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("cli")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'components.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("components")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'constants.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("constants")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'coordinator.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("coordinator")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'entrypoints.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("entrypoints")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'hooks.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("hooks")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'keybindings.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("keybindings")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'memdir.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("memdir")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'migrations.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("migrations")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'moreright.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("moreright")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -1,16 +1,14 @@
|
||||
"""Python package placeholder for the archived `native-ts` subsystem."""
|
||||
"""Python package placeholder for the archived `native_ts` subsystem."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'native_ts.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("native_ts")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'outputStyles.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("outputStyles")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'plugins.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("plugins")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'remote.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("remote")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'schemas.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("schemas")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'screens.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("screens")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'server.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("server")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'services.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("services")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'skills.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("skills")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'state.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("state")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'types.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("types")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'upstreamproxy.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("upstreamproxy")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'utils.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("utils")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'vim.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("vim")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from src._archive_helper import load_archive_metadata
|
||||
|
||||
SNAPSHOT_PATH = Path(__file__).resolve().parent.parent / 'reference_data' / 'subsystems' / 'voice.json'
|
||||
_SNAPSHOT = json.loads(SNAPSHOT_PATH.read_text())
|
||||
_SNAPSHOT = load_archive_metadata("voice")
|
||||
|
||||
ARCHIVE_NAME = _SNAPSHOT['archive_name']
|
||||
MODULE_COUNT = _SNAPSHOT['module_count']
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT['sample_files'])
|
||||
ARCHIVE_NAME = _SNAPSHOT["archive_name"]
|
||||
MODULE_COUNT = _SNAPSHOT["module_count"]
|
||||
SAMPLE_FILES = tuple(_SNAPSHOT["sample_files"])
|
||||
PORTING_NOTE = f"Python placeholder package for '{ARCHIVE_NAME}' with {MODULE_COUNT} archived module references."
|
||||
|
||||
__all__ = ['ARCHIVE_NAME', 'MODULE_COUNT', 'PORTING_NOTE', 'SAMPLE_FILES']
|
||||
__all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"]
|
||||
|
||||
Reference in New Issue
Block a user