hikoutei 0.9.17 → 0.9.18
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.
- package/dist/sync-engine/shared/observability/logEvents.d.ts +2 -2
- package/dist/sync-engine/shared/observability/logEvents.d.ts.map +1 -1
- package/dist/sync-engine/shared/observability/logEvents.js +14 -0
- package/dist/sync-engine/shared/observability/logEvents.js.map +1 -1
- package/dist/sync-engine/sync/outbound/dispatcherSupport.d.ts.map +1 -1
- package/dist/sync-engine/sync/outbound/dispatcherSupport.js +4 -3
- package/dist/sync-engine/sync/outbound/dispatcherSupport.js.map +1 -1
- package/dist/sync-engine/sync/outbound/errors.d.ts +24 -0
- package/dist/sync-engine/sync/outbound/errors.d.ts.map +1 -0
- package/dist/sync-engine/sync/outbound/errors.js +33 -0
- package/dist/sync-engine/sync/outbound/errors.js.map +1 -0
- package/dist/sync-engine/sync/service/SyncPollingSupervisor.d.ts.map +1 -1
- package/dist/sync-engine/sync/service/SyncPollingSupervisor.js +3 -2
- package/dist/sync-engine/sync/service/SyncPollingSupervisor.js.map +1 -1
- package/dist/sync-engine/sync/service/errors.d.ts +14 -0
- package/dist/sync-engine/sync/service/errors.d.ts.map +1 -1
- package/dist/sync-engine/sync/service/errors.js +23 -0
- package/dist/sync-engine/sync/service/errors.js.map +1 -1
- package/package.json +1 -1
|
@@ -74,7 +74,7 @@ export declare const HIKOUTEI_LOG_COMPONENTS: {
|
|
|
74
74
|
* to the log. A test asserts the registry stays in sync with every
|
|
75
75
|
* `*_ERROR_CODES` constant in the repository.
|
|
76
76
|
*/
|
|
77
|
-
export declare const HIKOUTEI_LOG_STABLE_CODES: readonly ["invalid_entity_descriptor", "duplicate_entity", "unregistered_entity", "entity_primary_key_unavailable", "entity_primary_key_mutation", "unmanaged_entity", "invalid_scalar_value", "invalid_query", "entity_not_found", "entity_identity_conflict", "sync_startup_failed", "sync_spreadsheet_url_invalid", "sync_credentials_file_missing", "sync_credentials_invalid_json", "sync_credentials_field_missing", "sync_auth_failed", "sync_spreadsheet_access_denied", "sync_spreadsheet_not_found", "sync_provisioning_failed", "invalid_sync_effect_payload", "invalid_sync_provisioning", "invalid_sync_client_options", "invalid_sync_provider_response", "invalid_fake_sync_provider_input", "google_sheets_api_timeout", "google_sheets_api_network_error", "google_sheets_api_http_error", "google_sheets_api_invalid_response", "google_sheets_api_request_start_refused", "invalid_sync_service_options", "invalid_sync_projection_config", "sync_provider_unavailable", "sync_service_startup_failed", "existing_sheet_adoption_dry_run_report", "existing_sheet_adoption_cell_kind_mismatch", "invalid_writer_lease_options", "invalid_sync_registration", "sync_registration_write_failed", "sync_registration_conflict", "sync_registry_target_unavailable", "invalid_observation_input", "observation_storage_inconsistent", "observation_audit_serialization_failed", "invalid_effect_options", "invalid_pending_effect", "effect_write_failed", "effect_replan_conflict", "invalid_effect_result", "invalid_projection_confirmation", "projection_confirmation_regression", "stale_writer_fence", "invalid_resolution_command", "resolution_command_identity_conflict", "resolution_storage_inconsistent", "resolution_effect_conflict", "resolution_target_unavailable", "invalid_stored_conflict", "schema_version_too_new", "schema_table_missing", "schema_index_missing", "schema_column_missing", "schema_version_invalid", "invalid_sql_script", "canonical_state_required", "canonical_field_required", "base_field_revision_required", "duplicate_changed_field", "invalid_entity_mapping", "duplicate_entity_mapping", "entity_mapping_not_found", "entity_primary_key_mismatch", "invalid_mapped_field_value", "writer_lease_unavailable", "row_binding_conflict", "canonical_commit_rejected", "projection_outbox_blocked", "observation_entity_mutation_failed", "unsupported_value_type", "non_finite_number", "invalid_date_format", "invalid_date_byte_length", "duplicate_object_key", "unpaired_high_surrogate", "unpaired_low_surrogate", "cyclic_value", "ERR_SQLITE_ERROR"];
|
|
77
|
+
export declare const HIKOUTEI_LOG_STABLE_CODES: readonly ["invalid_entity_descriptor", "duplicate_entity", "unregistered_entity", "entity_primary_key_unavailable", "entity_primary_key_mutation", "unmanaged_entity", "invalid_scalar_value", "invalid_query", "entity_not_found", "entity_identity_conflict", "sync_startup_failed", "sync_spreadsheet_url_invalid", "sync_credentials_file_missing", "sync_credentials_invalid_json", "sync_credentials_field_missing", "sync_auth_failed", "sync_spreadsheet_access_denied", "sync_spreadsheet_not_found", "sync_provisioning_failed", "invalid_sync_effect_payload", "invalid_sync_provisioning", "invalid_sync_client_options", "invalid_sync_provider_response", "invalid_fake_sync_provider_input", "google_sheets_api_timeout", "google_sheets_api_network_error", "google_sheets_api_http_error", "google_sheets_api_invalid_response", "google_sheets_api_request_start_refused", "invalid_sync_service_options", "invalid_sync_projection_config", "sync_provider_unavailable", "sync_service_startup_failed", "existing_sheet_adoption_dry_run_report", "existing_sheet_adoption_cell_kind_mismatch", "sync_polling_positive_integer_required", "sync_polling_backoff_order_invalid", "unsupported_sync_effect_kind", "unsupported_sync_projection", "unsupported_sync_effect_target_kind", "invalid_writer_lease_options", "invalid_sync_registration", "sync_registration_write_failed", "sync_registration_conflict", "sync_registry_target_unavailable", "invalid_observation_input", "observation_storage_inconsistent", "observation_audit_serialization_failed", "invalid_effect_options", "invalid_pending_effect", "effect_write_failed", "effect_replan_conflict", "invalid_effect_result", "invalid_projection_confirmation", "projection_confirmation_regression", "stale_writer_fence", "invalid_resolution_command", "resolution_command_identity_conflict", "resolution_storage_inconsistent", "resolution_effect_conflict", "resolution_target_unavailable", "invalid_stored_conflict", "schema_version_too_new", "schema_table_missing", "schema_index_missing", "schema_column_missing", "schema_version_invalid", "invalid_sql_script", "canonical_state_required", "canonical_field_required", "base_field_revision_required", "duplicate_changed_field", "invalid_entity_mapping", "duplicate_entity_mapping", "entity_mapping_not_found", "entity_primary_key_mismatch", "invalid_mapped_field_value", "writer_lease_unavailable", "row_binding_conflict", "canonical_commit_rejected", "projection_outbox_blocked", "observation_entity_mutation_failed", "unsupported_value_type", "non_finite_number", "invalid_date_format", "invalid_date_byte_length", "duplicate_object_key", "unpaired_high_surrogate", "unpaired_low_surrogate", "cyclic_value", "ERR_SQLITE_ERROR"];
|
|
78
78
|
/**
|
|
79
79
|
* Explicit registry of error class names the internal log may carry in its
|
|
80
80
|
* `errorClass` field.
|
|
@@ -92,7 +92,7 @@ export declare const HIKOUTEI_LOG_STABLE_CODES: readonly ["invalid_entity_descri
|
|
|
92
92
|
* `AsyncFenceLostError`) are caught and converted into result kinds before
|
|
93
93
|
* any boundary, so they never surface as thrown classes.
|
|
94
94
|
*/
|
|
95
|
-
export declare const HIKOUTEI_LOG_STABLE_CLASSES: readonly ["Error", "TypeError", "RangeError", "ReferenceError", "SyntaxError", "EvalError", "URIError", "AggregateError", "HikouteiError", "TypedSheetsOrmError", "SyncSheetsContractError", "SyncServiceError", "StorageError", "EvaluationContractError", "StableEncodingError", "DuplicateChangedFieldError", "GoogleSheetsApiTransportError", "ValidationError", "CursorError", "OptimisticLockError", "MetadataError", "NotFoundError", "TransactionStateError", "DriverException", "ConnectionException", "ServerException", "ConstraintViolationException", "DatabaseObjectExistsException", "DatabaseObjectNotFoundException", "DeadlockException", "ForeignKeyConstraintViolationException", "CheckConstraintViolationException", "InvalidFieldNameException", "LockWaitTimeoutException", "NonUniqueFieldNameException", "NotNullConstraintViolationException", "ReadOnlyException", "SyntaxErrorException", "TableExistsException", "TableNotFoundException", "UniqueConstraintViolationException"];
|
|
95
|
+
export declare const HIKOUTEI_LOG_STABLE_CLASSES: readonly ["Error", "TypeError", "RangeError", "ReferenceError", "SyntaxError", "EvalError", "URIError", "AggregateError", "HikouteiError", "TypedSheetsOrmError", "SyncSheetsContractError", "SyncServiceError", "PollingSupervisorOptionsError", "SyncEffectContractError", "StorageError", "EvaluationContractError", "StableEncodingError", "DuplicateChangedFieldError", "GoogleSheetsApiTransportError", "ValidationError", "CursorError", "OptimisticLockError", "MetadataError", "NotFoundError", "TransactionStateError", "DriverException", "ConnectionException", "ServerException", "ConstraintViolationException", "DatabaseObjectExistsException", "DatabaseObjectNotFoundException", "DeadlockException", "ForeignKeyConstraintViolationException", "CheckConstraintViolationException", "InvalidFieldNameException", "LockWaitTimeoutException", "NonUniqueFieldNameException", "NotNullConstraintViolationException", "ReadOnlyException", "SyntaxErrorException", "TableExistsException", "TableNotFoundException", "UniqueConstraintViolationException"];
|
|
96
96
|
/**
|
|
97
97
|
* Explicit allowlist of provider-operation tags the internal log may carry in
|
|
98
98
|
* its `providerOperation` field.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logEvents.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/observability/logEvents.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,6DAA6D;AAC7D,eAAO,MAAM,mBAAmB;IAC9B,mDAAmD;;IAEnD,2EAA2E;;IAE3E,2DAA2D;;IAE3D,8DAA8D;;IAE9D,kEAAkE;;IAElE,uEAAuE;;IAEvE,qDAAqD;;IAErD,kEAAkE;;IAElE,4DAA4D;;IAE5D,6EAA6E;;IAE7E,qEAAqE;;IAErE,2EAA2E;;IAE3E,0DAA0D;;IAE1D,yEAAyE;;IAEzE,yDAAyD;;IAEzD,iFAAiF;;IAEjF,6EAA6E;;IAE7E,yEAAyE;;CAEjE,CAAC;AAEX,yDAAyD;AACzD,eAAO,MAAM,uBAAuB;;;;;;;;;CAS1B,CAAC;AAEX;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,yBAAyB,
|
|
1
|
+
{"version":3,"file":"logEvents.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/observability/logEvents.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,6DAA6D;AAC7D,eAAO,MAAM,mBAAmB;IAC9B,mDAAmD;;IAEnD,2EAA2E;;IAE3E,2DAA2D;;IAE3D,8DAA8D;;IAE9D,kEAAkE;;IAElE,uEAAuE;;IAEvE,qDAAqD;;IAErD,kEAAkE;;IAElE,4DAA4D;;IAE5D,6EAA6E;;IAE7E,qEAAqE;;IAErE,2EAA2E;;IAE3E,0DAA0D;;IAE1D,yEAAyE;;IAEzE,yDAAyD;;IAEzD,iFAAiF;;IAEjF,6EAA6E;;IAE7E,yEAAyE;;CAEjE,CAAC;AAEX,yDAAyD;AACzD,eAAO,MAAM,uBAAuB;;;;;;;;;CAS1B,CAAC;AAEX;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,yBAAyB,kpFA2H3B,CAAC;AAEZ;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,2BAA2B,4gCA6C7B,CAAC;AAEZ;;;;;;;;GAQG;AACH,eAAO,MAAM,gCAAgC,iGAMlC,CAAC;AAEZ;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B,wFAK/B,CAAC"}
|
|
@@ -116,6 +116,18 @@ export const HIKOUTEI_LOG_STABLE_CODES = Object.freeze([
|
|
|
116
116
|
"existing_sheet_adoption_dry_run_report",
|
|
117
117
|
// Adoption seeding fail-closed cell validation (adopt/adoptionSeeding.ts).
|
|
118
118
|
"existing_sheet_adoption_cell_kind_mismatch",
|
|
119
|
+
// SyncPollingSupervisor constructor option validation (sync/service/errors.ts).
|
|
120
|
+
// Flows through SYNC_SERVICE_START_FAILED (bootstrap catch) — validation
|
|
121
|
+
// runs in the constructor before the liveness loop is created.
|
|
122
|
+
"sync_polling_positive_integer_required",
|
|
123
|
+
"sync_polling_backoff_order_invalid",
|
|
124
|
+
// Persisted outbox-value contract violations (sync/outbound/errors.ts).
|
|
125
|
+
// Raised by toProviderEffect; caught by sheetsPayloadValidationError and
|
|
126
|
+
// surfaced to the worker as an invalid-payload presence. The kernel
|
|
127
|
+
// persists the effect as invalid_effect_payload (no outbox log event).
|
|
128
|
+
"unsupported_sync_effect_kind",
|
|
129
|
+
"unsupported_sync_projection",
|
|
130
|
+
"unsupported_sync_effect_target_kind",
|
|
119
131
|
// Storage/schema/effect codes (@hikoutei/storage storage/errors.ts).
|
|
120
132
|
"invalid_writer_lease_options",
|
|
121
133
|
"invalid_sync_registration",
|
|
@@ -215,6 +227,8 @@ export const HIKOUTEI_LOG_STABLE_CLASSES = Object.freeze([
|
|
|
215
227
|
"TypedSheetsOrmError",
|
|
216
228
|
"SyncSheetsContractError",
|
|
217
229
|
"SyncServiceError",
|
|
230
|
+
"PollingSupervisorOptionsError",
|
|
231
|
+
"SyncEffectContractError",
|
|
218
232
|
"StorageError",
|
|
219
233
|
"EvaluationContractError",
|
|
220
234
|
"StableEncodingError",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logEvents.js","sourceRoot":"","sources":["../../../../../../src/shared/observability/logEvents.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,6DAA6D;AAC7D,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,mDAAmD;IACnD,cAAc,EAAE,yBAAyB;IACzC,2EAA2E;IAC3E,mBAAmB,EAAE,8BAA8B;IACnD,2DAA2D;IAC3D,cAAc,EAAE,yBAAyB;IACzC,8DAA8D;IAC9D,oBAAoB,EAAE,+BAA+B;IACrD,kEAAkE;IAClE,eAAe,EAAE,0BAA0B;IAC3C,uEAAuE;IACvE,uBAAuB,EAAE,kCAAkC;IAC3D,qDAAqD;IACrD,eAAe,EAAE,0BAA0B;IAC3C,kEAAkE;IAClE,oBAAoB,EAAE,+BAA+B;IACrD,4DAA4D;IAC5D,sBAAsB,EAAE,iCAAiC;IACzD,6EAA6E;IAC7E,qBAAqB,EAAE,gCAAgC;IACvD,qEAAqE;IACrE,yBAAyB,EAAE,oCAAoC;IAC/D,2EAA2E;IAC3E,wBAAwB,EAAE,mCAAmC;IAC7D,0DAA0D;IAC1D,0BAA0B,EAAE,qCAAqC;IACjE,yEAAyE;IACzE,kBAAkB,EAAE,6BAA6B;IACjD,yDAAyD;IACzD,mBAAmB,EAAE,8BAA8B;IACnD,iFAAiF;IACjF,0BAA0B,EAAE,qCAAqC;IACjE,6EAA6E;IAC7E,mBAAmB,EAAE,8BAA8B;IACnD,yEAAyE;IACzE,oBAAoB,EAAE,+BAA+B;CAC7C,CAAC;AAEX,yDAAyD;AACzD,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,gBAAgB;IAChC,cAAc,EAAE,gBAAgB;IAChC,YAAY,EAAE,cAAc;IAC5B,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,cAAc,EAAE,gBAAgB;IAChC,OAAO,EAAE,SAAS;CACV,CAAC;AAEX;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC;IACrD,gEAAgE;IAChE,2BAA2B;IAC3B,kBAAkB;IAClB,qBAAqB;IACrB,gCAAgC;IAChC,6BAA6B;IAC7B,kBAAkB;IAClB,sBAAsB;IACtB,eAAe;IACf,kBAAkB;IAClB,0BAA0B;IAC1B,qBAAqB;IACrB,8BAA8B;IAC9B,+BAA+B;IAC/B,+BAA+B;IAC/B,gCAAgC;IAChC,kBAAkB;IAClB,gCAAgC;IAChC,4BAA4B;IAC5B,0BAA0B;IAC1B,uFAAuF;IACvF,6BAA6B;IAC7B,2BAA2B;IAC3B,6BAA6B;IAC7B,gCAAgC;IAChC,kCAAkC;IAClC,qGAAqG;IACrG,2BAA2B;IAC3B,iCAAiC;IACjC,8BAA8B;IAC9B,oCAAoC;IACpC,yCAAyC;IACzC,kFAAkF;IAClF,8BAA8B;IAC9B,gCAAgC;IAChC,2BAA2B;IAC3B,6BAA6B;IAC7B,kGAAkG;IAClG,wCAAwC;IACxC,2EAA2E;IAC3E,4CAA4C;
|
|
1
|
+
{"version":3,"file":"logEvents.js","sourceRoot":"","sources":["../../../../../../src/shared/observability/logEvents.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,6DAA6D;AAC7D,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,mDAAmD;IACnD,cAAc,EAAE,yBAAyB;IACzC,2EAA2E;IAC3E,mBAAmB,EAAE,8BAA8B;IACnD,2DAA2D;IAC3D,cAAc,EAAE,yBAAyB;IACzC,8DAA8D;IAC9D,oBAAoB,EAAE,+BAA+B;IACrD,kEAAkE;IAClE,eAAe,EAAE,0BAA0B;IAC3C,uEAAuE;IACvE,uBAAuB,EAAE,kCAAkC;IAC3D,qDAAqD;IACrD,eAAe,EAAE,0BAA0B;IAC3C,kEAAkE;IAClE,oBAAoB,EAAE,+BAA+B;IACrD,4DAA4D;IAC5D,sBAAsB,EAAE,iCAAiC;IACzD,6EAA6E;IAC7E,qBAAqB,EAAE,gCAAgC;IACvD,qEAAqE;IACrE,yBAAyB,EAAE,oCAAoC;IAC/D,2EAA2E;IAC3E,wBAAwB,EAAE,mCAAmC;IAC7D,0DAA0D;IAC1D,0BAA0B,EAAE,qCAAqC;IACjE,yEAAyE;IACzE,kBAAkB,EAAE,6BAA6B;IACjD,yDAAyD;IACzD,mBAAmB,EAAE,8BAA8B;IACnD,iFAAiF;IACjF,0BAA0B,EAAE,qCAAqC;IACjE,6EAA6E;IAC7E,mBAAmB,EAAE,8BAA8B;IACnD,yEAAyE;IACzE,oBAAoB,EAAE,+BAA+B;CAC7C,CAAC;AAEX,yDAAyD;AACzD,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,gBAAgB;IAChC,cAAc,EAAE,gBAAgB;IAChC,YAAY,EAAE,cAAc;IAC5B,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,cAAc,EAAE,gBAAgB;IAChC,OAAO,EAAE,SAAS;CACV,CAAC;AAEX;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC;IACrD,gEAAgE;IAChE,2BAA2B;IAC3B,kBAAkB;IAClB,qBAAqB;IACrB,gCAAgC;IAChC,6BAA6B;IAC7B,kBAAkB;IAClB,sBAAsB;IACtB,eAAe;IACf,kBAAkB;IAClB,0BAA0B;IAC1B,qBAAqB;IACrB,8BAA8B;IAC9B,+BAA+B;IAC/B,+BAA+B;IAC/B,gCAAgC;IAChC,kBAAkB;IAClB,gCAAgC;IAChC,4BAA4B;IAC5B,0BAA0B;IAC1B,uFAAuF;IACvF,6BAA6B;IAC7B,2BAA2B;IAC3B,6BAA6B;IAC7B,gCAAgC;IAChC,kCAAkC;IAClC,qGAAqG;IACrG,2BAA2B;IAC3B,iCAAiC;IACjC,8BAA8B;IAC9B,oCAAoC;IACpC,yCAAyC;IACzC,kFAAkF;IAClF,8BAA8B;IAC9B,gCAAgC;IAChC,2BAA2B;IAC3B,6BAA6B;IAC7B,kGAAkG;IAClG,wCAAwC;IACxC,2EAA2E;IAC3E,4CAA4C;IAC5C,gFAAgF;IAChF,yEAAyE;IACzE,+DAA+D;IAC/D,wCAAwC;IACxC,oCAAoC;IACpC,wEAAwE;IACxE,yEAAyE;IACzE,oEAAoE;IACpE,uEAAuE;IACvE,8BAA8B;IAC9B,6BAA6B;IAC7B,qCAAqC;IAErC,qEAAqE;IACrE,8BAA8B;IAC9B,2BAA2B;IAC3B,gCAAgC;IAChC,4BAA4B;IAC5B,kCAAkC;IAClC,2BAA2B;IAC3B,kCAAkC;IAClC,wCAAwC;IACxC,wBAAwB;IACxB,wBAAwB;IACxB,qBAAqB;IACrB,wBAAwB;IACxB,uBAAuB;IACvB,iCAAiC;IACjC,oCAAoC;IACpC,oBAAoB;IACpB,4BAA4B;IAC5B,sCAAsC;IACtC,iCAAiC;IACjC,4BAA4B;IAC5B,+BAA+B;IAC/B,yBAAyB;IACzB,wBAAwB;IACxB,sBAAsB;IACtB,sBAAsB;IACtB,uBAAuB;IACvB,wBAAwB;IACxB,oBAAoB;IACpB,uFAAuF;IACvF,0BAA0B;IAC1B,0BAA0B;IAC1B,8BAA8B;IAC9B,8DAA8D;IAC9D,yBAAyB;IACzB,oEAAoE;IACpE,wBAAwB;IACxB,0BAA0B;IAC1B,0BAA0B;IAC1B,6BAA6B;IAC7B,4BAA4B;IAC5B,0BAA0B;IAC1B,sBAAsB;IACtB,2BAA2B;IAC3B,2BAA2B;IAC3B,oCAAoC;IACpC,4EAA4E;IAC5E,yEAAyE;IACzE,wDAAwD;IACxD,wBAAwB;IACxB,mBAAmB;IACnB,qBAAqB;IACrB,0BAA0B;IAC1B,sBAAsB;IACtB,yBAAyB;IACzB,wBAAwB;IACxB,cAAc;IACd,mEAAmE;IACnE,uEAAuE;IACvE,qEAAqE;IACrE,wEAAwE;IACxE,0EAA0E;IAC1E,yEAAyE;IACzE,uEAAuE;IACvE,qEAAqE;IACrE,uEAAuE;IACvE,qDAAqD;IACrD,kBAAkB;CACV,CAAC,CAAC;AAEZ;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC,MAAM,CAAC;IACvD,OAAO;IACP,WAAW;IACX,YAAY;IACZ,gBAAgB;IAChB,aAAa;IACb,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,eAAe;IACf,qBAAqB;IACrB,yBAAyB;IACzB,kBAAkB;IAClB,+BAA+B;IAC/B,yBAAyB;IACzB,cAAc;IACd,yBAAyB;IACzB,qBAAqB;IACrB,4BAA4B;IAC5B,+BAA+B;IAC/B,qDAAqD;IACrD,iBAAiB;IACjB,aAAa;IACb,qBAAqB;IACrB,eAAe;IACf,eAAe;IACf,uBAAuB;IACvB,iBAAiB;IACjB,qBAAqB;IACrB,iBAAiB;IACjB,8BAA8B;IAC9B,+BAA+B;IAC/B,iCAAiC;IACjC,mBAAmB;IACnB,wCAAwC;IACxC,mCAAmC;IACnC,2BAA2B;IAC3B,0BAA0B;IAC1B,6BAA6B;IAC7B,qCAAqC;IACrC,mBAAmB;IACnB,sBAAsB;IACtB,sBAAsB;IACtB,wBAAwB;IACxB,oCAAoC;CAC5B,CAAC,CAAC;AAEZ;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5D,WAAW;IACX,oBAAoB;IACpB,WAAW;IACX,oBAAoB;IACpB,cAAc;CACN,CAAC,CAAC;AAEZ;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC,MAAM,CAAC;IACzD,iBAAiB;IACjB,yBAAyB;IACzB,aAAa;IACb,cAAc;CACN,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcherSupport.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/outbound/dispatcherSupport.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAW3B,OAAO,EAAoC,KAAK,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"dispatcherSupport.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/outbound/dispatcherSupport.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAW3B,OAAO,EAAoC,KAAK,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AASvH;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB;IACnC,yEAAyE;;IAEzE,2EAA2E;;IAE3E,yEAAyE;;IAEzE,8EAA8E;;CAEtE,CAAC;AAEX;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAuBvE;AAsBD;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,sBAAsB,CAAC;AAEhE;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAM/D;AAED,yEAAyE;AACzE,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAOpF;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAM1E;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAcxE;AAED,6EAA6E;AAC7E,qBAAa,qBAAsB,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAInC;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,oBAAoB,CAkC5E;AAwBD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE/D"}
|
|
@@ -13,6 +13,7 @@ import { absentValue, presentValue, } from "../../../contracts/state/index.js";
|
|
|
13
13
|
import { fromSqlNullable } from "../../../storage/sqlite/sqlState.js";
|
|
14
14
|
import { parseSyncProjectionEffectPayload } from "../../../contracts/sheets/syncSheets.js";
|
|
15
15
|
import { SYNC_PROJECTIONS, } from "../../../contracts/sheets/constants.js";
|
|
16
|
+
import { SYNC_EFFECT_CONTRACT_ERROR_CODES, SyncEffectContractError, } from "./errors.js";
|
|
16
17
|
/**
|
|
17
18
|
* Dispatch-priority classes for ready projection effects.
|
|
18
19
|
*
|
|
@@ -150,13 +151,13 @@ export class PreparedDispatchError extends Error {
|
|
|
150
151
|
/** Validates and converts one durable outbox row into a provider effect. */
|
|
151
152
|
export function toProviderEffect(effect) {
|
|
152
153
|
if (!isSyncEffectKind(effect.effect_kind)) {
|
|
153
|
-
throw new
|
|
154
|
+
throw new SyncEffectContractError(SYNC_EFFECT_CONTRACT_ERROR_CODES.UNSUPPORTED_SYNC_EFFECT_KIND, effect.effect_kind);
|
|
154
155
|
}
|
|
155
156
|
if (!isSyncProjection(effect.projection)) {
|
|
156
|
-
throw new
|
|
157
|
+
throw new SyncEffectContractError(SYNC_EFFECT_CONTRACT_ERROR_CODES.UNSUPPORTED_SYNC_PROJECTION, effect.projection);
|
|
157
158
|
}
|
|
158
159
|
if (!isEffectTargetKind(effect.target_kind)) {
|
|
159
|
-
throw new
|
|
160
|
+
throw new SyncEffectContractError(SYNC_EFFECT_CONTRACT_ERROR_CODES.UNSUPPORTED_SYNC_EFFECT_TARGET_KIND, effect.target_kind);
|
|
160
161
|
}
|
|
161
162
|
return {
|
|
162
163
|
effectId: effect.effect_id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcherSupport.js","sourceRoot":"","sources":["../../../../../../src/sync/outbound/dispatcherSupport.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,iCAAiC,GAClC,MAAM,kCAAkC,CAAC;AAK1C,OAAO,EACL,YAAY,EACZ,mBAAmB,GACpB,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EACL,WAAW,EACX,YAAY,GACb,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,gCAAgC,EAA6B,MAAM,0CAA0C,CAAC;AACvH,OAAO,EACL,gBAAgB,GACjB,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"dispatcherSupport.js","sourceRoot":"","sources":["../../../../../../src/sync/outbound/dispatcherSupport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { CoreErrorException } from "../../../contracts/domain/errors/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Stable error codes for persisted outbox value contract violations.
|
|
4
|
+
*
|
|
5
|
+
* Raised inside `toProviderEffect` when a persisted `effect_kind`,
|
|
6
|
+
* `projection`, or `target_kind` does not match the closed union in
|
|
7
|
+
* `@hikoutei/contracts`. The message carries the persisted value verbatim
|
|
8
|
+
* for diagnostic traceability (it is never logged by the runtime).
|
|
9
|
+
*/
|
|
10
|
+
export declare const SYNC_EFFECT_CONTRACT_ERROR_CODES: {
|
|
11
|
+
readonly UNSUPPORTED_SYNC_EFFECT_KIND: "unsupported_sync_effect_kind";
|
|
12
|
+
readonly UNSUPPORTED_SYNC_PROJECTION: "unsupported_sync_projection";
|
|
13
|
+
readonly UNSUPPORTED_SYNC_EFFECT_TARGET_KIND: "unsupported_sync_effect_target_kind";
|
|
14
|
+
};
|
|
15
|
+
export type SyncEffectContractErrorCode = (typeof SYNC_EFFECT_CONTRACT_ERROR_CODES)[keyof typeof SYNC_EFFECT_CONTRACT_ERROR_CODES];
|
|
16
|
+
/**
|
|
17
|
+
* Thrown when a persisted outbox value fails its contracts-level closed-union
|
|
18
|
+
* check. Carries `domain` and `code` for structured observation while keeping
|
|
19
|
+
* the message byte-identical to the original raw `Error`.
|
|
20
|
+
*/
|
|
21
|
+
export declare class SyncEffectContractError extends CoreErrorException<"sync.outbound", SyncEffectContractErrorCode> {
|
|
22
|
+
constructor(code: SyncEffectContractErrorCode, persistedValue: string);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/outbound/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAMhF;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC;;;;CAInC,CAAC;AAEX,MAAM,MAAM,2BAA2B,GACrC,CAAC,OAAO,gCAAgC,CAAC,CAAC,MAAM,OAAO,gCAAgC,CAAC,CAAC;AAW3F;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,kBAAkB,CAC7D,eAAe,EACf,2BAA2B,CAC5B;gBACa,IAAI,EAAE,2BAA2B,EAAE,cAAc,EAAE,MAAM;CAGtE"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { CoreErrorException } from "../../../contracts/domain/errors/index.js";
|
|
2
|
+
// ---------------------------------------------------------------------------
|
|
3
|
+
// Persisted-value contract validation errors (dispatcherSupport)
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
/**
|
|
6
|
+
* Stable error codes for persisted outbox value contract violations.
|
|
7
|
+
*
|
|
8
|
+
* Raised inside `toProviderEffect` when a persisted `effect_kind`,
|
|
9
|
+
* `projection`, or `target_kind` does not match the closed union in
|
|
10
|
+
* `@hikoutei/contracts`. The message carries the persisted value verbatim
|
|
11
|
+
* for diagnostic traceability (it is never logged by the runtime).
|
|
12
|
+
*/
|
|
13
|
+
export const SYNC_EFFECT_CONTRACT_ERROR_CODES = {
|
|
14
|
+
UNSUPPORTED_SYNC_EFFECT_KIND: "unsupported_sync_effect_kind",
|
|
15
|
+
UNSUPPORTED_SYNC_PROJECTION: "unsupported_sync_projection",
|
|
16
|
+
UNSUPPORTED_SYNC_EFFECT_TARGET_KIND: "unsupported_sync_effect_target_kind",
|
|
17
|
+
};
|
|
18
|
+
const effectContractMessages = {
|
|
19
|
+
[SYNC_EFFECT_CONTRACT_ERROR_CODES.UNSUPPORTED_SYNC_EFFECT_KIND]: (v) => "unsupported sync effect kind: " + v,
|
|
20
|
+
[SYNC_EFFECT_CONTRACT_ERROR_CODES.UNSUPPORTED_SYNC_PROJECTION]: (v) => "unsupported sync projection: " + v,
|
|
21
|
+
[SYNC_EFFECT_CONTRACT_ERROR_CODES.UNSUPPORTED_SYNC_EFFECT_TARGET_KIND]: (v) => "unsupported sync effect target kind: " + v,
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Thrown when a persisted outbox value fails its contracts-level closed-union
|
|
25
|
+
* check. Carries `domain` and `code` for structured observation while keeping
|
|
26
|
+
* the message byte-identical to the original raw `Error`.
|
|
27
|
+
*/
|
|
28
|
+
export class SyncEffectContractError extends CoreErrorException {
|
|
29
|
+
constructor(code, persistedValue) {
|
|
30
|
+
super("sync.outbound", code, effectContractMessages[code](persistedValue));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../../../src/sync/outbound/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAEhF,8EAA8E;AAC9E,iEAAiE;AACjE,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,4BAA4B,EAAE,8BAA8B;IAC5D,2BAA2B,EAAE,6BAA6B;IAC1D,mCAAmC,EAAE,qCAAqC;CAClE,CAAC;AAKX,MAAM,sBAAsB,GAAmE;IAC7F,CAAC,gCAAgC,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACrE,gCAAgC,GAAG,CAAC;IACtC,CAAC,gCAAgC,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACpE,+BAA+B,GAAG,CAAC;IACrC,CAAC,gCAAgC,CAAC,mCAAmC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAC5E,uCAAuC,GAAG,CAAC;CAC9C,CAAC;AAEF;;;;GAIG;AACH,MAAM,OAAO,uBAAwB,SAAQ,kBAG5C;IACC,YAAY,IAAiC,EAAE,cAAsB;QACnE,KAAK,CAAC,eAAe,EAAE,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7E,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SyncPollingSupervisor.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/service/SyncPollingSupervisor.ts"],"names":[],"mappings":"AAAA,qDAAqD;
|
|
1
|
+
{"version":3,"file":"SyncPollingSupervisor.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/service/SyncPollingSupervisor.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAWrD,KAAK,QAAQ,CAAC,MAAM,IAAI,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;AAC9C,MAAM,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpE,MAAM,WAAW,4BAA4B,CAAC,MAAM,GAAG,OAAO;IAC5D,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC;IAChC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAED;;;GAGG;AACH,qBAAa,qBAAqB,CAAC,MAAM,GAAG,OAAO;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;IACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoC;IACrE,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyC;IAClE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyC;IACjE,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,UAAU,CAA2B;gBAE1B,OAAO,EAAE,4BAA4B,CAAC,MAAM,CAAC;IAuBhE,uDAAuD;IAChD,KAAK,IAAI,IAAI;IAWpB,0EAA0E;IACnE,UAAU,IAAI,OAAO;IAI5B,yDAAyD;IAClD,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAcjC,wEAAwE;IACjE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAed,OAAO;YA2BP,gBAAgB;IAoB9B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,WAAW;CAOpB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/** Internal liveness loop for User_Input polling. */
|
|
2
2
|
import { SYNC_POLLING_INTERVAL_MS } from "./cadence.js";
|
|
3
|
+
import { SYNC_POLLING_ERROR_CODES, PollingSupervisorOptionsError, } from "./errors.js";
|
|
3
4
|
const DEFAULT_ERROR_BACKOFF_INITIAL_MS = 1_000;
|
|
4
5
|
const DEFAULT_ERROR_BACKOFF_MAX_MS = 30_000;
|
|
5
6
|
/**
|
|
@@ -28,7 +29,7 @@ export class SyncPollingSupervisor {
|
|
|
28
29
|
this.errorBackoffInitialMs = requirePositive(options.errorBackoffInitialMs ?? DEFAULT_ERROR_BACKOFF_INITIAL_MS, "poll error backoff");
|
|
29
30
|
this.errorBackoffMaxMs = requirePositive(options.errorBackoffMaxMs ?? DEFAULT_ERROR_BACKOFF_MAX_MS, "poll maximum error backoff");
|
|
30
31
|
if (this.errorBackoffMaxMs < this.errorBackoffInitialMs) {
|
|
31
|
-
throw new
|
|
32
|
+
throw new PollingSupervisorOptionsError(SYNC_POLLING_ERROR_CODES.BACKOFF_ORDER_INVALID);
|
|
32
33
|
}
|
|
33
34
|
this.wait = options.wait ?? defaultWait;
|
|
34
35
|
this.waitForFirstPass = options.waitForFirstPass;
|
|
@@ -156,7 +157,7 @@ export class SyncPollingSupervisor {
|
|
|
156
157
|
}
|
|
157
158
|
function requirePositive(value, label) {
|
|
158
159
|
if (!Number.isSafeInteger(value) || value < 1) {
|
|
159
|
-
throw new
|
|
160
|
+
throw new PollingSupervisorOptionsError(SYNC_POLLING_ERROR_CODES.POSITIVE_INTEGER_REQUIRED, label);
|
|
160
161
|
}
|
|
161
162
|
return value;
|
|
162
163
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SyncPollingSupervisor.js","sourceRoot":"","sources":["../../../../../../src/sync/service/SyncPollingSupervisor.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"SyncPollingSupervisor.js","sourceRoot":"","sources":["../../../../../../src/sync/service/SyncPollingSupervisor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
import { CoreErrorException } from "../../../contracts/domain/errors/index.js";
|
|
2
|
+
/** Stable error codes for SyncPollingSupervisor option validation. */
|
|
3
|
+
export declare const SYNC_POLLING_ERROR_CODES: {
|
|
4
|
+
/** A numeric option must be a positive (> 0) safe integer. */
|
|
5
|
+
readonly POSITIVE_INTEGER_REQUIRED: "sync_polling_positive_integer_required";
|
|
6
|
+
/** errorBackoffMaxMs must be >= errorBackoffInitialMs. */
|
|
7
|
+
readonly BACKOFF_ORDER_INVALID: "sync_polling_backoff_order_invalid";
|
|
8
|
+
};
|
|
9
|
+
export type SyncPollingErrorCode = (typeof SYNC_POLLING_ERROR_CODES)[keyof typeof SYNC_POLLING_ERROR_CODES];
|
|
10
|
+
/** Typed error for SyncPollingSupervisor option validation. */
|
|
11
|
+
export declare class PollingSupervisorOptionsError extends RangeError {
|
|
12
|
+
readonly code: SyncPollingErrorCode;
|
|
13
|
+
constructor(code: typeof SYNC_POLLING_ERROR_CODES.BACKOFF_ORDER_INVALID);
|
|
14
|
+
constructor(code: typeof SYNC_POLLING_ERROR_CODES.POSITIVE_INTEGER_REQUIRED, label: string);
|
|
15
|
+
}
|
|
2
16
|
/** Stable failures raised while assembling or running the internal sync service. */
|
|
3
17
|
export declare const SYNC_SERVICE_ERROR_CODES: {
|
|
4
18
|
readonly INVALID_OPTIONS: "invalid_sync_service_options";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/service/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/service/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAMhF,sEAAsE;AACtE,eAAO,MAAM,wBAAwB;IACnC,8DAA8D;;IAE9D,0DAA0D;;CAElD,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAC9B,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,OAAO,wBAAwB,CAAC,CAAC;AAS3E,+DAA+D;AAC/D,qBAAa,6BAA8B,SAAQ,UAAU;IAC3D,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;gBAGxB,IAAI,EAAE,OAAO,wBAAwB,CAAC,qBAAqB;gBAGrE,IAAI,EAAE,OAAO,wBAAwB,CAAC,yBAAyB,EAC/D,KAAK,EAAE,MAAM;CAOhB;AAED,oFAAoF;AACpF,eAAO,MAAM,wBAAwB;;;;;IAKnC,oFAAoF;;IAEpF;;;;;OAKG;;CAEK,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAC9B,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,OAAO,wBAAwB,CAAC,CAAC;AAE3E,0EAA0E;AAC1E,qBAAa,gBAAiB,SAAQ,kBAAkB,CACtD,0BAA0B,EAC1B,oBAAoB,CACrB;gBACoB,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM;CAG/D"}
|
|
@@ -1,4 +1,27 @@
|
|
|
1
1
|
import { CoreErrorException } from "../../../contracts/domain/errors/index.js";
|
|
2
|
+
// ---------------------------------------------------------------------------
|
|
3
|
+
// SyncPollingSupervisor option validation
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
/** Stable error codes for SyncPollingSupervisor option validation. */
|
|
6
|
+
export const SYNC_POLLING_ERROR_CODES = {
|
|
7
|
+
/** A numeric option must be a positive (> 0) safe integer. */
|
|
8
|
+
POSITIVE_INTEGER_REQUIRED: "sync_polling_positive_integer_required",
|
|
9
|
+
/** errorBackoffMaxMs must be >= errorBackoffInitialMs. */
|
|
10
|
+
BACKOFF_ORDER_INVALID: "sync_polling_backoff_order_invalid",
|
|
11
|
+
};
|
|
12
|
+
const pollingMessages = {
|
|
13
|
+
[SYNC_POLLING_ERROR_CODES.POSITIVE_INTEGER_REQUIRED]: (label) => `${label} must be a positive safe integer`,
|
|
14
|
+
[SYNC_POLLING_ERROR_CODES.BACKOFF_ORDER_INVALID]: () => "poll maximum error backoff must be at least the initial backoff",
|
|
15
|
+
};
|
|
16
|
+
/** Typed error for SyncPollingSupervisor option validation. */
|
|
17
|
+
export class PollingSupervisorOptionsError extends RangeError {
|
|
18
|
+
code;
|
|
19
|
+
constructor(code, label) {
|
|
20
|
+
super(pollingMessages[code](label));
|
|
21
|
+
this.name = "PollingSupervisorOptionsError";
|
|
22
|
+
this.code = code;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
2
25
|
/** Stable failures raised while assembling or running the internal sync service. */
|
|
3
26
|
export const SYNC_SERVICE_ERROR_CODES = {
|
|
4
27
|
INVALID_OPTIONS: "invalid_sync_service_options",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../../../src/sync/service/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAEhF,oFAAoF;AACpF,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,eAAe,EAAE,8BAA8B;IAC/C,yBAAyB,EAAE,gCAAgC;IAC3D,oBAAoB,EAAE,2BAA2B;IACjD,cAAc,EAAE,6BAA6B;IAC7C,oFAAoF;IACpF,uBAAuB,EAAE,wCAAwC;IACjE;;;;;OAKG;IACH,2BAA2B,EAAE,4CAA4C;CACjE,CAAC;AAKX,0EAA0E;AAC1E,MAAM,OAAO,gBAAiB,SAAQ,kBAGrC;IACC,YAAmB,IAA0B,EAAE,OAAe;QAC5D,KAAK,CAAC,0BAA0B,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../../../src/sync/service/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAEhF,8EAA8E;AAC9E,0CAA0C;AAC1C,8EAA8E;AAE9E,sEAAsE;AACtE,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,8DAA8D;IAC9D,yBAAyB,EAAE,wCAAwC;IACnE,0DAA0D;IAC1D,qBAAqB,EAAE,oCAAoC;CACnD,CAAC;AAKX,MAAM,eAAe,GAA6D;IAChF,CAAC,wBAAwB,CAAC,yBAAyB,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAC9D,GAAG,KAAK,kCAAkC;IAC5C,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,CACrD,iEAAiE;CACpE,CAAC;AAEF,+DAA+D;AAC/D,MAAM,OAAO,6BAA8B,SAAQ,UAAU;IAClD,IAAI,CAAuB;IASpC,YAAY,IAA0B,EAAE,KAAc;QACpD,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,oFAAoF;AACpF,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,eAAe,EAAE,8BAA8B;IAC/C,yBAAyB,EAAE,gCAAgC;IAC3D,oBAAoB,EAAE,2BAA2B;IACjD,cAAc,EAAE,6BAA6B;IAC7C,oFAAoF;IACpF,uBAAuB,EAAE,wCAAwC;IACjE;;;;;OAKG;IACH,2BAA2B,EAAE,4CAA4C;CACjE,CAAC;AAKX,0EAA0E;AAC1E,MAAM,OAAO,gBAAiB,SAAQ,kBAGrC;IACC,YAAmB,IAA0B,EAAE,OAAe;QAC5D,KAAK,CAAC,0BAA0B,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hikoutei",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.18",
|
|
4
4
|
"description": "Typed repository and safe write layer for Google Sheets-backed MVPs. SQLite-authoritative entity lifecycle with asynchronous Google Sheets projection.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|