primitive 0.1.69__tar.gz → 0.1.70__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.
Files changed (106) hide show
  1. {primitive-0.1.69 → primitive-0.1.70}/PKG-INFO +1 -1
  2. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/__about__.py +1 -1
  3. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/agent/runner.py +29 -25
  4. {primitive-0.1.69 → primitive-0.1.70}/.git-hooks/pre-commit +0 -0
  5. {primitive-0.1.69 → primitive-0.1.70}/.gitattributes +0 -0
  6. {primitive-0.1.69 → primitive-0.1.70}/.github/workflows/lint.yml +0 -0
  7. {primitive-0.1.69 → primitive-0.1.70}/.github/workflows/publish.yml +0 -0
  8. {primitive-0.1.69 → primitive-0.1.70}/.gitignore +0 -0
  9. {primitive-0.1.69 → primitive-0.1.70}/.vscode/settings.json +0 -0
  10. {primitive-0.1.69 → primitive-0.1.70}/LICENSE.txt +0 -0
  11. {primitive-0.1.69 → primitive-0.1.70}/Makefile +0 -0
  12. {primitive-0.1.69 → primitive-0.1.70}/README.md +0 -0
  13. {primitive-0.1.69 → primitive-0.1.70}/linux setup.md +0 -0
  14. {primitive-0.1.69 → primitive-0.1.70}/pyproject.toml +0 -0
  15. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/__init__.py +0 -0
  16. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/agent/__init__.py +0 -0
  17. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/agent/actions.py +0 -0
  18. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/agent/commands.py +0 -0
  19. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/agent/process.py +0 -0
  20. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/agent/provision.py +0 -0
  21. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/agent/uploader.py +0 -0
  22. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/auth/__init__.py +0 -0
  23. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/auth/actions.py +0 -0
  24. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/auth/commands.py +0 -0
  25. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/auth/graphql/__init__.py +0 -0
  26. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/auth/graphql/queries.py +0 -0
  27. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/cli.py +0 -0
  28. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/client.py +0 -0
  29. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/daemons/__init__.py +0 -0
  30. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/daemons/actions.py +0 -0
  31. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/daemons/commands.py +0 -0
  32. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/daemons/launch_agents.py +0 -0
  33. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/daemons/launch_service.py +0 -0
  34. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/exec/__init__.py +0 -0
  35. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/exec/actions.py +0 -0
  36. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/exec/commands.py +0 -0
  37. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/exec/interactive.py +0 -0
  38. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/files/__init__.py +0 -0
  39. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/files/actions.py +0 -0
  40. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/files/commands.py +0 -0
  41. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/files/graphql/__init__.py +0 -0
  42. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/files/graphql/fragments.py +0 -0
  43. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/files/graphql/mutations.py +0 -0
  44. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/files/graphql/queries.py +0 -0
  45. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/git/__init__.py +0 -0
  46. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/git/actions.py +0 -0
  47. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/git/commands.py +0 -0
  48. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/git/graphql/__init__.py +0 -0
  49. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/git/graphql/queries.py +0 -0
  50. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/graphql/__init__.py +0 -0
  51. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/graphql/relay.py +0 -0
  52. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/graphql/sdk.py +0 -0
  53. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/graphql/utility_fragments.py +0 -0
  54. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/hardware/__init__.py +0 -0
  55. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/hardware/actions.py +0 -0
  56. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/hardware/commands.py +0 -0
  57. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/hardware/graphql/__init__.py +0 -0
  58. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/hardware/graphql/fragments.py +0 -0
  59. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/hardware/graphql/mutations.py +0 -0
  60. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/hardware/graphql/queries.py +0 -0
  61. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/jobs/__init__.py +0 -0
  62. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/jobs/actions.py +0 -0
  63. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/jobs/commands.py +0 -0
  64. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/jobs/graphql/__init__.py +0 -0
  65. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/jobs/graphql/fragments.py +0 -0
  66. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/jobs/graphql/mutations.py +0 -0
  67. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/jobs/graphql/queries.py +0 -0
  68. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/organizations/__init__.py +0 -0
  69. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/organizations/actions.py +0 -0
  70. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/organizations/commands.py +0 -0
  71. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/organizations/graphql/__init__.py +0 -0
  72. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/organizations/graphql/fragments.py +0 -0
  73. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/organizations/graphql/mutations.py +0 -0
  74. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/organizations/graphql/queries.py +0 -0
  75. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/projects/__init__.py +0 -0
  76. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/projects/actions.py +0 -0
  77. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/projects/commands.py +0 -0
  78. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/projects/graphql/__init__.py +0 -0
  79. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/projects/graphql/fragments.py +0 -0
  80. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/projects/graphql/mutations.py +0 -0
  81. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/projects/graphql/queries.py +0 -0
  82. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/provisioning/__init__.py +0 -0
  83. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/provisioning/actions.py +0 -0
  84. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/provisioning/graphql/__init__.py +0 -0
  85. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/provisioning/graphql/queries.py +0 -0
  86. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/reservations/__init__.py +0 -0
  87. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/reservations/actions.py +0 -0
  88. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/reservations/commands.py +0 -0
  89. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/reservations/graphql/__init__.py +0 -0
  90. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/reservations/graphql/fragments.py +0 -0
  91. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/reservations/graphql/mutations.py +0 -0
  92. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/reservations/graphql/queries.py +0 -0
  93. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/utils/__init__.py +0 -0
  94. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/utils/actions.py +0 -0
  95. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/utils/auth.py +0 -0
  96. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/utils/cache.py +0 -0
  97. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/utils/chunk_size.py +0 -0
  98. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/utils/config.py +0 -0
  99. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/utils/files.py +0 -0
  100. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/utils/git.py +0 -0
  101. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/utils/memory_size.py +0 -0
  102. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/utils/printer.py +0 -0
  103. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/utils/shell.py +0 -0
  104. {primitive-0.1.69 → primitive-0.1.70}/src/primitive/utils/verible.py +0 -0
  105. {primitive-0.1.69 → primitive-0.1.70}/tests/__init__.py +0 -0
  106. {primitive-0.1.69 → primitive-0.1.70}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: primitive
3
- Version: 0.1.69
3
+ Version: 0.1.70
4
4
  Project-URL: Documentation, https://github.com//primitivecorp/primitive-cli#readme
5
5
  Project-URL: Issues, https://github.com//primitivecorp/primitive-cli/issues
6
6
  Project-URL: Source, https://github.com//primitivecorp/primitive-cli
@@ -1,4 +1,4 @@
1
1
  # SPDX-FileCopyrightText: 2024-present Dylan Stein <dylan@primitive.tech>
2
2
  #
3
3
  # SPDX-License-Identifier: MIT
4
- __version__ = "0.1.69"
4
+ __version__ = "0.1.70"
@@ -49,6 +49,7 @@ class AgentRunner:
49
49
  job_slug: str,
50
50
  max_log_size: int = 10 * 1024 * 1024,
51
51
  log_to_file: bool = True,
52
+ job: Optional[JobDescription] = None,
52
53
  ) -> None:
53
54
  self.primitive = primitive
54
55
  self.source_dir = source_dir
@@ -70,33 +71,36 @@ class AgentRunner:
70
71
  )
71
72
 
72
73
  # Attempt to load job from file
73
- logger.info(f"Scanning directory for job file {self.job_slug}")
74
- yaml_file = Path(self.source_dir / ".primitive" / f"{self.job_slug}.yaml")
75
- yml_file = Path(self.source_dir / ".primitive" / f"{self.job_slug}.yml")
76
-
77
- if yaml_file.exists() and yml_file.exists():
78
- logger.error(
79
- f"Found two job descriptions with the same slug: {self.job_slug}"
80
- )
81
- self.primitive.jobs.job_run_update(
82
- self.job_id, status="request_completed", conclusion="failure"
83
- )
84
- raise FileExistsError
74
+ if not job:
75
+ logger.info(f"Scanning directory for job file {self.job_slug}")
76
+ yaml_file = Path(self.source_dir / ".primitive" / f"{self.job_slug}.yaml")
77
+ yml_file = Path(self.source_dir / ".primitive" / f"{self.job_slug}.yml")
78
+
79
+ if yaml_file.exists() and yml_file.exists():
80
+ logger.error(
81
+ f"Found two job descriptions with the same slug: {self.job_slug}"
82
+ )
83
+ self.primitive.jobs.job_run_update(
84
+ self.job_id, status="request_completed", conclusion="failure"
85
+ )
86
+ raise FileExistsError
87
+
88
+ if yaml_file.exists():
89
+ self.job = yaml.load(open(yaml_file, "r"), Loader=Loader)
90
+ elif yml_file.exists():
91
+ self.job = yaml.load(open(yml_file, "r"), Loader=Loader)
92
+ else:
93
+ logger.error(
94
+ f"No job description with matching slug '{self.job_slug}' found"
95
+ )
96
+ self.primitive.jobs.job_run_update(
97
+ self.job_id, status="request_completed", conclusion="failure"
98
+ )
99
+ raise FileNotFoundError
85
100
 
86
- if yaml_file.exists():
87
- self.job = yaml.load(open(yaml_file, "r"), Loader=Loader)
88
- elif yml_file.exists():
89
- self.job = yaml.load(open(yml_file, "r"), Loader=Loader)
101
+ logger.info(f"Found job description for {self.job_slug}")
90
102
  else:
91
- logger.error(
92
- f"No job description with matching slug '{self.job_slug}' found"
93
- )
94
- self.primitive.jobs.job_run_update(
95
- self.job_id, status="request_completed", conclusion="failure"
96
- )
97
- raise FileNotFoundError
98
-
99
- logger.info(f"Found job description for {self.job_slug}")
103
+ self.job = job
100
104
 
101
105
  @staticmethod
102
106
  def log_serializer() -> Callable:
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