primitive 0.2.49__tar.gz → 0.2.51__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 (113) hide show
  1. {primitive-0.2.49 → primitive-0.2.51}/.gitignore +3 -0
  2. {primitive-0.2.49 → primitive-0.2.51}/PKG-INFO +1 -1
  3. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/__about__.py +1 -1
  4. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/monitor/actions.py +7 -4
  5. {primitive-0.2.49 → primitive-0.2.51}/.git-hooks/pre-commit +0 -0
  6. {primitive-0.2.49 → primitive-0.2.51}/.gitattributes +0 -0
  7. {primitive-0.2.49 → primitive-0.2.51}/.github/workflows/lint.yml +0 -0
  8. {primitive-0.2.49 → primitive-0.2.51}/.github/workflows/publish.yml +0 -0
  9. {primitive-0.2.49 → primitive-0.2.51}/.github/workflows/pyright.yml +0 -0
  10. {primitive-0.2.49 → primitive-0.2.51}/.vscode/extensions.json +0 -0
  11. {primitive-0.2.49 → primitive-0.2.51}/.vscode/settings.json +0 -0
  12. {primitive-0.2.49 → primitive-0.2.51}/LICENSE.txt +0 -0
  13. {primitive-0.2.49 → primitive-0.2.51}/Makefile +0 -0
  14. {primitive-0.2.49 → primitive-0.2.51}/README.md +0 -0
  15. {primitive-0.2.49 → primitive-0.2.51}/linux setup.md +0 -0
  16. {primitive-0.2.49 → primitive-0.2.51}/pyproject.toml +0 -0
  17. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/__init__.py +0 -0
  18. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/agent/__init__.py +0 -0
  19. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/agent/actions.py +0 -0
  20. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/agent/commands.py +0 -0
  21. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/agent/runner.py +0 -0
  22. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/agent/uploader.py +0 -0
  23. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/auth/__init__.py +0 -0
  24. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/auth/actions.py +0 -0
  25. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/auth/commands.py +0 -0
  26. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/auth/graphql/__init__.py +0 -0
  27. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/auth/graphql/queries.py +0 -0
  28. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/cli.py +0 -0
  29. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/client.py +0 -0
  30. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/daemons/__init__.py +0 -0
  31. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/daemons/actions.py +0 -0
  32. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/daemons/commands.py +0 -0
  33. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/daemons/launch_agents.py +0 -0
  34. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/daemons/launch_service.py +0 -0
  35. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/daemons/ui.py +0 -0
  36. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/exec/__init__.py +0 -0
  37. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/exec/actions.py +0 -0
  38. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/exec/commands.py +0 -0
  39. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/exec/interactive.py +0 -0
  40. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/files/__init__.py +0 -0
  41. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/files/actions.py +0 -0
  42. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/files/commands.py +0 -0
  43. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/files/graphql/__init__.py +0 -0
  44. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/files/graphql/fragments.py +0 -0
  45. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/files/graphql/mutations.py +0 -0
  46. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/files/graphql/queries.py +0 -0
  47. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/git/__init__.py +0 -0
  48. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/git/actions.py +0 -0
  49. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/git/commands.py +0 -0
  50. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/git/graphql/__init__.py +0 -0
  51. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/git/graphql/queries.py +0 -0
  52. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/graphql/__init__.py +0 -0
  53. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/graphql/relay.py +0 -0
  54. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/graphql/sdk.py +0 -0
  55. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/graphql/utility_fragments.py +0 -0
  56. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/hardware/__init__.py +0 -0
  57. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/hardware/actions.py +0 -0
  58. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/hardware/android.py +0 -0
  59. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/hardware/commands.py +0 -0
  60. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/hardware/graphql/__init__.py +0 -0
  61. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/hardware/graphql/fragments.py +0 -0
  62. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/hardware/graphql/mutations.py +0 -0
  63. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/hardware/graphql/queries.py +0 -0
  64. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/hardware/ui.py +0 -0
  65. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/jobs/__init__.py +0 -0
  66. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/jobs/actions.py +0 -0
  67. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/jobs/commands.py +0 -0
  68. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/jobs/graphql/__init__.py +0 -0
  69. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/jobs/graphql/fragments.py +0 -0
  70. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/jobs/graphql/mutations.py +0 -0
  71. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/jobs/graphql/queries.py +0 -0
  72. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/monitor/commands.py +0 -0
  73. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/organizations/__init__.py +0 -0
  74. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/organizations/actions.py +0 -0
  75. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/organizations/commands.py +0 -0
  76. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/organizations/graphql/__init__.py +0 -0
  77. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/organizations/graphql/fragments.py +0 -0
  78. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/organizations/graphql/mutations.py +0 -0
  79. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/organizations/graphql/queries.py +0 -0
  80. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/projects/__init__.py +0 -0
  81. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/projects/actions.py +0 -0
  82. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/projects/commands.py +0 -0
  83. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/projects/graphql/__init__.py +0 -0
  84. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/projects/graphql/fragments.py +0 -0
  85. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/projects/graphql/mutations.py +0 -0
  86. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/projects/graphql/queries.py +0 -0
  87. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/provisioning/__init__.py +0 -0
  88. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/provisioning/actions.py +0 -0
  89. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/provisioning/graphql/__init__.py +0 -0
  90. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/provisioning/graphql/queries.py +0 -0
  91. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/reservations/__init__.py +0 -0
  92. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/reservations/actions.py +0 -0
  93. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/reservations/commands.py +0 -0
  94. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/reservations/graphql/__init__.py +0 -0
  95. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/reservations/graphql/fragments.py +0 -0
  96. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/reservations/graphql/mutations.py +0 -0
  97. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/reservations/graphql/queries.py +0 -0
  98. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/utils/__init__.py +0 -0
  99. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/utils/actions.py +0 -0
  100. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/utils/auth.py +0 -0
  101. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/utils/cache.py +0 -0
  102. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/utils/chunk_size.py +0 -0
  103. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/utils/config.py +0 -0
  104. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/utils/daemons.py +0 -0
  105. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/utils/exceptions.py +0 -0
  106. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/utils/logging.py +0 -0
  107. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/utils/memory_size.py +0 -0
  108. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/utils/printer.py +0 -0
  109. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/utils/psutil.py +0 -0
  110. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/utils/shell.py +0 -0
  111. {primitive-0.2.49 → primitive-0.2.51}/src/primitive/utils/text.py +0 -0
  112. {primitive-0.2.49 → primitive-0.2.51}/tests/__init__.py +0 -0
  113. {primitive-0.2.49 → primitive-0.2.51}/uv.lock +0 -0
@@ -132,3 +132,6 @@ dmypy.json
132
132
  .pyre/
133
133
 
134
134
  .DS_Store
135
+
136
+ # Intellij IDEA
137
+ .idea/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: primitive
3
- Version: 0.2.49
3
+ Version: 0.2.51
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: 2025-present Dylan Stein <dylan@primitive.tech>
2
2
  #
3
3
  # SPDX-License-Identifier: MIT
4
- __version__ = "0.2.49"
4
+ __version__ = "0.2.51"
@@ -60,11 +60,14 @@ class Monitor(BaseAction):
60
60
  previous_reservation_id = None
61
61
  active_reservation_id = None
62
62
 
63
+ last_provisioned_reservation_id = None
64
+
63
65
  while True:
64
66
  # this block determines if there is a reservation at all
65
67
  # handles cleanup of old reservations
66
68
  # obtains an active JobRun's ID
67
69
  if not RUNNING_IN_CONTAINER:
70
+ self.primitive.hardware.check_in_http(is_online=True)
68
71
  hardware = self.primitive.hardware.get_own_hardware_details()
69
72
  # fetch the latest hardware and activeReservation details
70
73
  if active_reservation_data := hardware["activeReservation"]:
@@ -108,12 +111,11 @@ class Monitor(BaseAction):
108
111
  )
109
112
  job_run_id = job_run_data.get("id")
110
113
  previous_reservation_id = None
114
+ last_provisioned_reservation_id = None
111
115
 
112
116
  # if we are on the new reservation
113
- elif (
114
- (previous_reservation_id is not None)
115
- and (active_reservation_id is not None)
116
- and (previous_reservation_id == active_reservation_id)
117
+ elif (active_reservation_id is not None) and (
118
+ last_provisioned_reservation_id != active_reservation_id
117
119
  ):
118
120
  logger.info(
119
121
  f"Reason: {active_reservation_data.get('reason', '')}"
@@ -121,6 +123,7 @@ class Monitor(BaseAction):
121
123
  self.primitive.provisioning.add_reservation_authorized_keys(
122
124
  reservation_id=active_reservation_id
123
125
  )
126
+ last_provisioned_reservation_id = active_reservation_id
124
127
 
125
128
  # we have an active reservation, check if we have JobRuns attached to it
126
129
  if active_reservation_id is not None:
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes