mainsequence 8.1.20.dev7__py3-none-any.whl → 8.1.20.dev9__py3-none-any.whl

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.
@@ -60,9 +60,9 @@ This skill discovers and identifies data. It does not publish, redesign, or defi
60
60
  ## Read First
61
61
 
62
62
  1. `AGENTS.md`
63
- 2. `docs/cli/index.md`
64
- 3. `docs/knowledge/time_index_table_updates.md`
65
- 4. `docs/knowledge/meta_tables/index.md` when the exploration touches row-oriented storage
63
+ 2. <https://mainsequence-sdk.github.io/mainsequence-sdk/cli/>
64
+ 3. <https://mainsequence-sdk.github.io/mainsequence-sdk/knowledge/time_index_table_updates/>
65
+ 4. <https://mainsequence-sdk.github.io/mainsequence-sdk/knowledge/meta_tables/> when the exploration touches row-oriented storage
66
66
 
67
67
  ## Inputs This Skill Needs
68
68
 
@@ -17,16 +17,13 @@ platform-managed application tables outside the migration workflow.
17
17
 
18
18
  ## Read First
19
19
 
20
- 1. `docs/knowledge/meta_tables/migrations.md`
21
- 2. `docs/knowledge/meta_tables/api.md`
22
- 3. `docs/adr/0020-metatable-migration-artifact-registry.md`
23
- 4. `docs/adr/0026-sdk-owned-migration-scaffolding.md`
20
+ 1. `AGENTS.md`
21
+ 2. <https://mainsequence-sdk.github.io/mainsequence-sdk/knowledge/meta_tables/migrations/>
22
+ 3. <https://mainsequence-sdk.github.io/mainsequence-sdk/knowledge/meta_tables/api/>
24
23
 
25
- `docs/knowledge/meta_tables/migrations.md` is the authoritative SDK reference for
26
- provider behavior and migration contracts. The runnable beginner migration
27
- walkthrough is maintained in the separate canonical tutorial CodeRepository at
28
- <https://github.com/mainsequence-projects/mainsequence-sdk-tutorial>; read it
29
- only when a runnable end-to-end example is needed.
24
+ The pages above are the authoritative reference for provider behavior and
25
+ migration contracts. This skill states the contract it needs; read those pages
26
+ for the full provider and catalog-binding detail.
30
27
 
31
28
  ## Required Decisions
32
29
 
@@ -103,6 +100,12 @@ platform-managed, Alembic-managed reservations and are validated before HTTP.
103
100
 
104
101
  - Keep Alembic as the schema migration engine; do not build custom operation
105
102
  lists or fake migration payload formats.
103
+ - These are intentionally unsupported and must not be reintroduced: SDK-managed
104
+ migration artifact table models, packaged migration rows,
105
+ `load_packaged_migration`, `sync_packaged_migration`,
106
+ `build_migration_registry_row`, custom `operations()` migration modules, and
107
+ operation names such as `add_column` or `create_index`. Use provider-selected
108
+ Alembic revisions and Alembic-rendered SQL only.
106
109
  - Keep provider scope explicit. Do not scan all imported models or installed
107
110
  packages.
108
111
  - For one-model or configured dynamic providers, use `metadata_for_models(...)`
@@ -49,19 +49,16 @@ If the user is still in the discovery process and does not yet know what data ex
49
49
 
50
50
  ## Read First
51
51
 
52
- 1. `docs/knowledge/meta_tables/index.md`
53
- 2. `docs/knowledge/meta_tables/sqlalchemy.md`
54
- 3. `docs/knowledge/meta_tables/compiled_sql.md`
55
- 4. `docs/knowledge/meta_tables/migrations.md`
56
- 5. `docs/knowledge/meta_tables/api.md`
57
- 6. For migration work, use
52
+ 1. `AGENTS.md`
53
+ 2. <https://mainsequence-sdk.github.io/mainsequence-sdk/knowledge/meta_tables/>
54
+ 3. <https://mainsequence-sdk.github.io/mainsequence-sdk/knowledge/meta_tables/sqlalchemy/>
55
+ 4. <https://mainsequence-sdk.github.io/mainsequence-sdk/knowledge/meta_tables/compiled_sql/>
56
+ 5. <https://mainsequence-sdk.github.io/mainsequence-sdk/knowledge/meta_tables/migrations/>
57
+ 6. <https://mainsequence-sdk.github.io/mainsequence-sdk/knowledge/meta_tables/api/>
58
+ 7. For migration work, use
58
59
  `.agents/skills/mainsequence/data_publishing/meta_table_migrations/SKILL.md`
59
60
 
60
- The knowledge pages above are the authoritative SDK reference for MetaTables.
61
- The runnable beginner walkthrough is maintained in the separate canonical
62
- tutorial CodeRepository at
63
- <https://github.com/mainsequence-projects/mainsequence-sdk-tutorial>; read it
64
- only when a runnable end-to-end example is needed.
61
+ The pages above are the authoritative reference for MetaTables.
65
62
 
66
63
  ## Inputs This Skill Needs
67
64
 
@@ -313,9 +310,9 @@ asset_meta_table = MetaTable.register(asset_request)
313
310
  ### 4. Schema changes use Alembic
314
311
 
315
312
  When doing migration work, use
316
- `.agents/skills/mainsequence/data_publishing/meta_table_migrations/SKILL.md`
317
- and read `docs/knowledge/meta_tables/migrations.md`. The migration skill owns the
318
- provider-based Alembic lifecycle.
313
+ `.agents/skills/mainsequence/data_publishing/meta_table_migrations/SKILL.md`,
314
+ which owns the provider-based Alembic lifecycle and carries the migration
315
+ reading list.
319
316
 
320
317
  Do not apply in-place contract changes by changing a `PlatformManagedMetaTable`
321
318
  SQLAlchemy class and calling normal registration again. Shape-addressed
@@ -355,8 +352,8 @@ physical table and Alembic version table names. Use `suffix` for a namespace or
355
352
  variant, for example `schema_table_name("msm", "positions", suffix="broker")`.
356
353
 
357
354
  Do not ask users to construct backend migration payloads or call low-level
358
- migration request models. The backend request shape is reference material in
359
- the tutorial; the user-facing path is:
355
+ migration request models. The backend request shape is internal; the
356
+ user-facing path is:
360
357
 
361
358
  ```bash
362
359
  mainsequence migrations current --provider sdk_examples.migrations:migration
@@ -64,8 +64,9 @@ If the task depends on one of those areas, route it explicitly instead of guessi
64
64
 
65
65
  ## Read First
66
66
 
67
- 1. `docs/knowledge/time_index_table_updates.md`
68
- 2. `docs/knowledge/meta_tables/sqlalchemy.md`
67
+ 1. `AGENTS.md`
68
+ 2. <https://mainsequence-sdk.github.io/mainsequence-sdk/knowledge/time_index_table_updates/>
69
+ 3. <https://mainsequence-sdk.github.io/mainsequence-sdk/knowledge/meta_tables/sqlalchemy/>
69
70
 
70
71
  ## Inputs This Skill Needs
71
72
 
@@ -61,16 +61,13 @@ This skill only reasons about access to deployed resources such as `ResourceRele
61
61
 
62
62
  ## Read First
63
63
 
64
- 1. `docs/knowledge/infrastructure/users_and_access.md`
65
- 2. `docs/knowledge/infrastructure/constants_and_secrets.md`
64
+ 1. `AGENTS.md`
65
+ 2. <https://mainsequence-sdk.github.io/mainsequence-sdk/knowledge/infrastructure/users_and_access/>
66
+ 3. <https://mainsequence-sdk.github.io/mainsequence-sdk/knowledge/infrastructure/constants_and_secrets/>
66
67
 
67
- If the task is specifically about a resource type, also read the corresponding knowledge or CLI page for that resource.
68
-
69
- The knowledge pages above are the authoritative SDK reference for access control
70
- and sharing. The runnable beginner walkthrough is maintained in the separate
71
- canonical tutorial CodeRepository at
72
- <https://github.com/mainsequence-projects/mainsequence-sdk-tutorial>; read it
73
- only when a runnable end-to-end example is needed.
68
+ The pages above are the authoritative reference for access control and sharing.
69
+ If the task is specifically about a resource type, also read that resource's own
70
+ page from the documentation root at <https://mainsequence-sdk.github.io/mainsequence-sdk/>.
74
71
 
75
72
  ## Inputs This Skill Needs
76
73
 
@@ -57,10 +57,14 @@ This skill must not claim ownership of:
57
57
 
58
58
  ## Read First
59
59
 
60
- 1. `docs/knowledge/infrastructure/scheduling_jobs.md`
61
- 2. `docs/knowledge/infrastructure/artifacts.md`
62
- 3. `docs/knowledge/infrastructure/owner_observability.md` when inspecting logs or resource usage
63
- If the task touches deployed FastAPI APIs, also read the relevant API skill/docs before changing the operational workflow.
60
+ 1. `AGENTS.md`
61
+ 2. <https://mainsequence-sdk.github.io/mainsequence-sdk/knowledge/infrastructure/scheduling_jobs/>
62
+ 3. <https://mainsequence-sdk.github.io/mainsequence-sdk/knowledge/infrastructure/artifacts/>
63
+ 4. <https://mainsequence-sdk.github.io/mainsequence-sdk/knowledge/infrastructure/owner_observability/> when inspecting logs or resource usage
64
+
65
+ If the task touches deployed FastAPI APIs, also use
66
+ `.agents/skills/mainsequence/application_surfaces/api_surfaces/SKILL.md` before
67
+ changing the operational workflow.
64
68
 
65
69
  ## Inputs This Skill Needs
66
70
 
mainsequence/cli/cli.py CHANGED
@@ -5912,7 +5912,9 @@ def _meta_table_run_query_impl(
5912
5912
  try:
5913
5913
  payload = run_meta_table_query(meta_table_uid, sql, timeout=timeout)
5914
5914
  except ApiError as e:
5915
- error(f"MetaTable query failed: {e}")
5915
+ # The api layer already names the operation in the message; prefixing again
5916
+ # produces "MetaTable query failed: MetaTable query failed: ...".
5917
+ error(str(e))
5916
5918
  raise typer.Exit(1) from e
5917
5919
 
5918
5920
  ok = bool(payload.get("ok"))
@@ -5941,7 +5943,9 @@ def _time_index_table_run_query_impl(
5941
5943
  try:
5942
5944
  payload = run_time_index_table_query(table_uid, sql, timeout=timeout)
5943
5945
  except ApiError as e:
5944
- error(f"Time-index table query failed: {e}")
5946
+ # The api layer already names the operation in the message; prefixing again
5947
+ # produces "Time-index table query failed: Time-index table query failed: ...".
5948
+ error(str(e))
5945
5949
  raise typer.Exit(1) from e
5946
5950
 
5947
5951
  ok = bool(payload.get("ok"))
@@ -1904,35 +1904,18 @@ class MetaTable(
1904
1904
 
1905
1905
  cls = type(self)
1906
1906
  url = f"{cls.get_object_url().rstrip('/')}/{self._public_uid()}/run-query/"
1907
- if cls.ENDPOINT == "time-index-meta-tables":
1908
- session = cls.build_session()
1909
- old_content_type = session.headers.get("Content-Type")
1910
- session.headers["Content-Type"] = "text/plain"
1911
- try:
1912
- response = make_request(
1913
- s=session,
1914
- loaders=cls.LOADERS,
1915
- r_type="POST",
1916
- url=url,
1917
- payload={"data": sql},
1918
- time_out=timeout,
1919
- )
1920
- finally:
1921
- if old_content_type is None:
1922
- session.headers.pop("Content-Type", None)
1923
- else:
1924
- session.headers["Content-Type"] = old_content_type
1925
- error_payload = {"data": sql}
1926
- else:
1927
- response = make_request(
1928
- s=cls.build_session(),
1929
- loaders=cls.LOADERS,
1930
- r_type="POST",
1931
- url=url,
1932
- payload={"json": sql},
1933
- time_out=timeout,
1934
- )
1935
- error_payload = {"json": sql}
1907
+ # The backend reads the request body as the raw SQL string and parses it with
1908
+ # DRF's JSON parser, for every MetaTable endpoint. Sending a JSON string is the
1909
+ # only transport it accepts; a text/plain body is rejected with HTTP 415.
1910
+ payload = {"json": sql}
1911
+ response = make_request(
1912
+ s=cls.build_session(),
1913
+ loaders=cls.LOADERS,
1914
+ r_type="POST",
1915
+ url=url,
1916
+ payload=payload,
1917
+ time_out=timeout,
1918
+ )
1936
1919
 
1937
1920
  try:
1938
1921
  data = response.json()
@@ -1942,7 +1925,7 @@ class MetaTable(
1942
1925
  if isinstance(data, dict) and "ok" in data:
1943
1926
  return data
1944
1927
 
1945
- raise_for_response(response, payload=error_payload)
1928
+ raise_for_response(response, payload=payload)
1946
1929
  return response.json()
1947
1930
 
1948
1931
  @classmethod
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence
3
- Version: 8.1.20.dev7
3
+ Version: 8.1.20.dev9
4
4
  Summary: Main Sequence SDK
5
5
  Author-email: Main Sequence GmbH <dev@main-sequence.io>
6
6
  License-Expression: LicenseRef-MainSequence-Proprietary
@@ -1,14 +1,14 @@
1
1
  agent_scaffold/AGENTS.md,sha256=j5SVtoatkVknA8OSk75yRbCW2NTUBMpMIPnP0CI_Fi8,5840
2
2
  agent_scaffold/skills/a2a_sdk_execution/SKILL.md,sha256=NKtcXibE8TxZzKzz1KzJ2cVZ_EeuJJkb660U6wLvZ3s,11809
3
3
  agent_scaffold/skills/application_surfaces/api_surfaces/SKILL.md,sha256=R8SXcexmcJu_2OFJPnNdDDygmp7Y-s9cjHAAL7JsFIk,10645
4
- agent_scaffold/skills/data_access/exploration/SKILL.md,sha256=X_qjyAd_XxuypZHAvZ-hgHrb1VHm_eX0d_OwNHwJE7o,9190
5
- agent_scaffold/skills/data_publishing/meta_table_migrations/SKILL.md,sha256=4SOP77A5JV7Mcwqu2uVUCEp3pGqovgOFoDPMfr-FKgM,7580
6
- agent_scaffold/skills/data_publishing/meta_tables/SKILL.md,sha256=gmE9dTUAGd1LXkeAh35ltTKsrve8OcX97fi2SIBLO68,21765
7
- agent_scaffold/skills/data_publishing/time_index_table_updates/SKILL.md,sha256=2U3V8b6upVX6H7oXjLLR_S6TnQXMYhvmFJ8HjhKgR6A,20306
4
+ agent_scaffold/skills/data_access/exploration/SKILL.md,sha256=2sw01_1F5fJw_iPGaiNCZP_pvjfp1b8hlc6OOiXFYNI,9313
5
+ agent_scaffold/skills/data_publishing/meta_table_migrations/SKILL.md,sha256=_gHP3Rcbzxk8JbinVZcj6PAxNt6I3ALOSPgL1Jxh0Cg,7815
6
+ agent_scaffold/skills/data_publishing/meta_tables/SKILL.md,sha256=gUrul2roVs0jAEpKHLlR74CsqlA9LjLkZzjwLcOEE0Y,21702
7
+ agent_scaffold/skills/data_publishing/time_index_table_updates/SKILL.md,sha256=iwuZvEfIM8RbJArJQ0YTuX42NQoiSLvnOSmyYVG82h8,20411
8
8
  agent_scaffold/skills/maintenance/bug_auditor/SKILL.md,sha256=qIjfDg6TluOwWpp17q3rgqOx1XJDfdekyzGJ2NGsTE0,8693
9
9
  agent_scaffold/skills/maintenance/code_repository_maintenance/SKILL.md,sha256=rl0HCBu8496c88vQggIfDNSbvDhentTJtMaP7sDa6P4,11848
10
- agent_scaffold/skills/platform_operations/access_control_and_sharing/SKILL.md,sha256=vWWZ--C-Emf3eDyhwtHU09mrYvk052b-7zw4X3J0WMk,9006
11
- agent_scaffold/skills/platform_operations/orchestration_and_releases/SKILL.md,sha256=zz3R2j-H1uBo2yU-o0F5vS2Ae1NBR4x8vvNeZpQ_Z4g,18160
10
+ agent_scaffold/skills/platform_operations/access_control_and_sharing/SKILL.md,sha256=TXO37BLdGE9hAqgXhGrMnc3aoclxrVzp_FsTmBjRmQo,8919
11
+ agent_scaffold/skills/platform_operations/orchestration_and_releases/SKILL.md,sha256=b2IUz1R3Lb_Istq0Zajym0_88Zjr9LBEHLN3zXkpKow,18355
12
12
  agent_scaffold/skills/sdk_code_repository_execution/SKILL.md,sha256=Bqp626i_i-W1q01Y5nnJMchUYVWPwQLFD3gJZrMl6Wo,10329
13
13
  mainsequence/__init__.py,sha256=qf4KclPVr-OkZIxTmWAS7FQSOiE-ecgLF194pQtJPvg,147
14
14
  mainsequence/__main__.py,sha256=KuAP69uduS2ImrPIgNMzbGBRepZzjqvUONu5vFh4v4A,176
@@ -23,7 +23,7 @@ mainsequence/scaffold_skills.py,sha256=mhjn7Xy5BSp8711xf7jziOC-DgyI1QUNWDup-fg_7
23
23
  mainsequence/cli/__init__.py,sha256=TNxXsTPgb52OhakIda9wTRh91cqoBqgQRx5TxjzQQFU,21
24
24
  mainsequence/cli/api.py,sha256=MN1wsJrykUfzkq9wlcjY0I_v8Ls0Lk9jY9_z8mVWVwo,170143
25
25
  mainsequence/cli/browser_auth.py,sha256=C-Sbpt0Pr9Pv3Z9dO80TMk7zPcaaZ-4zvW0tbRVMrTU,9863
26
- mainsequence/cli/cli.py,sha256=DmgJHGHSA_GlnSzzDrtzNf4dDcjUX3veQhx2bciA3OY,376943
26
+ mainsequence/cli/cli.py,sha256=fuhL5BcK6EHGAB2DCNxaB58SUV_TkEdI9zoOKMDfF2I,377218
27
27
  mainsequence/cli/code_repository_status.py,sha256=SHEnU8YSWFowPG6dEdE4Yd8CS1tIcJSE1MXFLfvD3Os,5975
28
28
  mainsequence/cli/config.py,sha256=VTxa0sH-XRUlc_FnCILGlHbgaAMEaMqSJ5j1G9I6PRw,26190
29
29
  mainsequence/cli/docker_utils.py,sha256=MS2DOH-bLtpBHfw_JmYu3fx7aYP1uafF7cpsVsFxGhg,10687
@@ -53,7 +53,7 @@ mainsequence/client/data_sources_interfaces/duckdb.py,sha256=JZHsN3fB2UQYpNQJnp2
53
53
  mainsequence/client/data_sources_interfaces/local_paths.py,sha256=aO7-pTGBWItcpY1MxoYYP0mbEgB3dDWqDOwniezNw5c,323
54
54
  mainsequence/client/data_sources_interfaces/sqlite.py,sha256=gWpuG9FbPWF69urRqU_K5yWX7vkHGPeOCYaJwVu8nG0,16392
55
55
  mainsequence/client/metatables/__init__.py,sha256=dLxgfvV8t5kb59SxBowXxLJJQAc1BPgNzVUl_7U6SeA,580
56
- mainsequence/client/metatables/core.py,sha256=j-rVsQe7-l_3h3Yh_UWemeOM7sGdqsf_JPNKwmVB4AA,186505
56
+ mainsequence/client/metatables/core.py,sha256=FdYKoAU6AjIS3lFAOXT6GOJTgJvD01HFea9yb6-H1DM,185916
57
57
  mainsequence/instrumentation/__init__.py,sha256=K1W1vx2wu1QldzUD6tI4C8op9mFcVpS7D-Ina1O9TFc,152
58
58
  mainsequence/instrumentation/utils.py,sha256=b-ihjSioAepeLfMpudM2SqCtvnxMqIXileHx3klBCQU,3377
59
59
  mainsequence/meta_tables/__init__.py,sha256=aHwu6kRSunS3-ZiVnSS-8rBH09ZnWUu82hgrmnpeEf4,5267
@@ -83,9 +83,9 @@ mainsequence/meta_tables/time_index_table_updates/namespacing.py,sha256=obJfMnjL
83
83
  mainsequence/meta_tables/time_index_table_updates/runner.py,sha256=853p_iXJ835pI8pX3519HSdTw93Bqqd3JxHOfm3S6yg,34412
84
84
  mainsequence/meta_tables/time_index_table_updates/updaters.py,sha256=-6zJgi1sDRCyIyVxLwTfb2RLLZS4LC0syNJHnJRAtgU,31404
85
85
  mainsequence/meta_tables/time_index_table_updates/utils.py,sha256=O1iKp2tzCkqxyCblI6MKxez6XV180w87VszxDO9OfAE,621
86
- mainsequence-8.1.20.dev7.dist-info/licenses/LICENSE,sha256=fXoCKgEuZXmP84_QDXpvO18QHze_6AAhd-zvZBUjJxQ,4524
87
- mainsequence-8.1.20.dev7.dist-info/METADATA,sha256=Zd_MBN2AmI9Wf2jJrfRbqOijLWA5BT--0EhGoE0jCwI,7383
88
- mainsequence-8.1.20.dev7.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
89
- mainsequence-8.1.20.dev7.dist-info/entry_points.txt,sha256=XGAOq3-mF2lWWpeRJvoaWyMarRcK167mH1g124aGdUs,88
90
- mainsequence-8.1.20.dev7.dist-info/top_level.txt,sha256=BFeblM_Q9q0cUWBvTxnfWcWQEHtf5XZi9nOS-Gdfwus,28
91
- mainsequence-8.1.20.dev7.dist-info/RECORD,,
86
+ mainsequence-8.1.20.dev9.dist-info/licenses/LICENSE,sha256=fXoCKgEuZXmP84_QDXpvO18QHze_6AAhd-zvZBUjJxQ,4524
87
+ mainsequence-8.1.20.dev9.dist-info/METADATA,sha256=naQ7e15wKRzO9ZHr5PgLCuGwnZxKfLTjlrYgswnldKU,7383
88
+ mainsequence-8.1.20.dev9.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
89
+ mainsequence-8.1.20.dev9.dist-info/entry_points.txt,sha256=XGAOq3-mF2lWWpeRJvoaWyMarRcK167mH1g124aGdUs,88
90
+ mainsequence-8.1.20.dev9.dist-info/top_level.txt,sha256=BFeblM_Q9q0cUWBvTxnfWcWQEHtf5XZi9nOS-Gdfwus,28
91
+ mainsequence-8.1.20.dev9.dist-info/RECORD,,