@almadar/std 1.0.0 → 1.0.1

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 (40) hide show
  1. package/dist/behaviors/async.d.ts +8 -8
  2. package/dist/behaviors/async.js +548 -500
  3. package/dist/behaviors/async.js.map +1 -1
  4. package/dist/behaviors/data-management.d.ts +11 -19
  5. package/dist/behaviors/data-management.js +468 -449
  6. package/dist/behaviors/data-management.js.map +1 -1
  7. package/dist/behaviors/feedback.d.ts +6 -6
  8. package/dist/behaviors/feedback.js +312 -278
  9. package/dist/behaviors/feedback.js.map +1 -1
  10. package/dist/behaviors/game-core.d.ts +11 -12
  11. package/dist/behaviors/game-core.js +357 -406
  12. package/dist/behaviors/game-core.js.map +1 -1
  13. package/dist/behaviors/game-entity.d.ts +13 -14
  14. package/dist/behaviors/game-entity.js +622 -592
  15. package/dist/behaviors/game-entity.js.map +1 -1
  16. package/dist/behaviors/game-ui.d.ts +9 -10
  17. package/dist/behaviors/game-ui.js +522 -459
  18. package/dist/behaviors/game-ui.js.map +1 -1
  19. package/dist/behaviors/index.d.ts +3 -3
  20. package/dist/behaviors/index.js +3876 -3843
  21. package/dist/behaviors/index.js.map +1 -1
  22. package/dist/behaviors/registry.d.ts +14 -24
  23. package/dist/behaviors/registry.js +3868 -3803
  24. package/dist/behaviors/registry.js.map +1 -1
  25. package/dist/behaviors/types.d.ts +14 -138
  26. package/dist/behaviors/types.js +10 -47
  27. package/dist/behaviors/types.js.map +1 -1
  28. package/dist/behaviors/ui-interaction.d.ts +13 -20
  29. package/dist/behaviors/ui-interaction.js +961 -1043
  30. package/dist/behaviors/ui-interaction.js.map +1 -1
  31. package/dist/index.d.ts +44 -11
  32. package/dist/index.js +3913 -3870
  33. package/dist/index.js.map +1 -1
  34. package/dist/modules/index.js +11 -0
  35. package/dist/modules/index.js.map +1 -1
  36. package/dist/modules/str.js +11 -0
  37. package/dist/modules/str.js.map +1 -1
  38. package/dist/registry.js +11 -0
  39. package/dist/registry.js.map +1 -1
  40. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../behaviors/async.ts"],"names":[],"mappings":"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","file":"async.js","sourcesContent":["/**\n * Async Behaviors\n *\n * Standard behaviors for asynchronous operations like loading,\n * fetching, submission, retry, and polling.\n *\n * @packageDocumentation\n */\n\nimport type { StandardBehavior } from './types.js';\n\n// ============================================================================\n// std/Loading - Loading State Management\n// ============================================================================\n\nexport const LOADING_BEHAVIOR: StandardBehavior = {\n name: 'std/Loading',\n category: 'async',\n description: 'Loading state management with success/error handling',\n suggestedFor: [\n 'Async data loading',\n 'API calls',\n 'Resource fetching',\n 'Initial page load',\n ],\n\n dataEntities: [\n {\n name: 'LoadingState',\n runtime: true,\n singleton: true,\n fields: [\n { name: 'isLoading', type: 'boolean', default: false },\n { name: 'error', type: 'object', default: null },\n { name: 'data', type: 'object', default: null },\n { name: 'startTime', type: 'number', default: null },\n ],\n },\n ],\n\n stateMachine: {\n initial: 'Idle',\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Loading' },\n { name: 'Success' },\n { name: 'Error' },\n ],\n events: [\n { key: 'START' },\n { key: 'SUCCESS' },\n { key: 'ERROR' },\n { key: 'RETRY' },\n { key: 'RESET' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Loading',\n event: 'START',\n effects: [\n ['set', '@entity.isLoading', true],\n ['set', '@entity.error', null],\n ['set', '@entity.startTime', ['time/now']],\n ['render', 'content', 'loading-state', {}],\n ],\n },\n {\n from: 'Loading',\n to: 'Success',\n event: 'SUCCESS',\n effects: [\n ['set', '@entity.isLoading', false],\n ['set', '@entity.data', '@payload.data'],\n ],\n },\n {\n from: 'Loading',\n to: 'Error',\n event: 'ERROR',\n effects: [\n ['set', '@entity.isLoading', false],\n ['set', '@entity.error', '@payload.error'],\n ['render', 'content', 'error-state', {\n error: '@entity.error',\n onRetry: 'RETRY',\n }],\n ],\n },\n {\n from: 'Error',\n to: 'Loading',\n event: 'RETRY',\n effects: [\n ['set', '@entity.isLoading', true],\n ['set', '@entity.error', null],\n ['set', '@entity.startTime', ['time/now']],\n ['render', 'content', 'loading-state', {}],\n ],\n },\n {\n from: ['Success', 'Error'],\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.isLoading', false],\n ['set', '@entity.error', null],\n ['set', '@entity.data', null],\n ],\n },\n ],\n },\n\n configSchema: {\n required: [],\n optional: [\n { name: 'showLoadingAfterMs', type: 'number', description: 'Delay before showing loading', default: 200 },\n { name: 'minLoadingMs', type: 'number', description: 'Minimum loading display time', default: 500 },\n ],\n },\n};\n\n// ============================================================================\n// std/Fetch - Data Fetching\n// ============================================================================\n\nexport const FETCH_BEHAVIOR: StandardBehavior = {\n name: 'std/Fetch',\n category: 'async',\n description: 'Data fetching with caching and refresh capabilities',\n suggestedFor: [\n 'API data fetching',\n 'Entity loading',\n 'Remote data',\n 'Cached queries',\n ],\n\n dataEntities: [\n {\n name: 'FetchState',\n runtime: true,\n singleton: true,\n fields: [\n { name: 'data', type: 'object', default: null },\n { name: 'error', type: 'object', default: null },\n { name: 'isFetching', type: 'boolean', default: false },\n { name: 'lastFetchedAt', type: 'number', default: null },\n ],\n },\n ],\n\n stateMachine: {\n initial: 'Idle',\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Fetching' },\n { name: 'Stale' },\n { name: 'Fresh' },\n { name: 'Error' },\n ],\n events: [\n { key: 'FETCH' },\n { key: 'FETCH_SUCCESS' },\n { key: 'FETCH_ERROR' },\n { key: 'REFRESH' },\n { key: 'INVALIDATE' },\n ],\n transitions: [\n {\n from: ['Idle', 'Stale'],\n to: 'Fetching',\n event: 'FETCH',\n effects: [\n ['set', '@entity.isFetching', true],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Fetching',\n to: 'Fresh',\n event: 'FETCH_SUCCESS',\n effects: [\n ['set', '@entity.isFetching', false],\n ['set', '@entity.data', '@payload.data'],\n ['set', '@entity.lastFetchedAt', ['time/now']],\n ],\n },\n {\n from: 'Fetching',\n to: 'Error',\n event: 'FETCH_ERROR',\n effects: [\n ['set', '@entity.isFetching', false],\n ['set', '@entity.error', '@payload.error'],\n ],\n },\n {\n from: 'Fresh',\n to: 'Stale',\n event: 'INVALIDATE',\n effects: [\n ['set', '@entity.lastFetchedAt', null],\n ],\n },\n {\n from: ['Fresh', 'Stale', 'Error'],\n to: 'Fetching',\n event: 'REFRESH',\n effects: [\n ['set', '@entity.isFetching', true],\n ['set', '@entity.error', null],\n ],\n },\n ],\n },\n\n configSchema: {\n required: [\n { name: 'entity', type: 'entity', description: 'Entity type to fetch' },\n ],\n optional: [\n { name: 'staleTimeMs', type: 'number', description: 'Time until data is stale', default: 60000 },\n { name: 'cacheKey', type: 'string', description: 'Cache key for deduplication' },\n ],\n },\n};\n\n// ============================================================================\n// std/Submit - Form Submission\n// ============================================================================\n\nexport const SUBMIT_BEHAVIOR: StandardBehavior = {\n name: 'std/Submit',\n category: 'async',\n description: 'Async submission with retry capabilities',\n suggestedFor: [\n 'Form submission',\n 'Data saving',\n 'API mutations',\n 'Actions with confirmation',\n ],\n\n dataEntities: [\n {\n name: 'SubmitState',\n runtime: true,\n singleton: true,\n fields: [\n { name: 'isSubmitting', type: 'boolean', default: false },\n { name: 'error', type: 'object', default: null },\n { name: 'lastSubmittedData', type: 'object', default: null },\n ],\n },\n ],\n\n stateMachine: {\n initial: 'Idle',\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Submitting' },\n { name: 'Success' },\n { name: 'Error' },\n ],\n events: [\n { key: 'SUBMIT' },\n { key: 'SUBMIT_SUCCESS' },\n { key: 'SUBMIT_ERROR' },\n { key: 'RETRY' },\n { key: 'RESET' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Submitting',\n event: 'SUBMIT',\n effects: [\n ['set', '@entity.isSubmitting', true],\n ['set', '@entity.error', null],\n ['set', '@entity.lastSubmittedData', '@payload.data'],\n ],\n },\n {\n from: 'Submitting',\n to: 'Success',\n event: 'SUBMIT_SUCCESS',\n effects: [\n ['set', '@entity.isSubmitting', false],\n ['notify', { type: 'success', message: '@config.successMessage' }],\n ['when', '@config.resetOnSuccess', ['emit', 'RESET']],\n ],\n },\n {\n from: 'Submitting',\n to: 'Error',\n event: 'SUBMIT_ERROR',\n effects: [\n ['set', '@entity.isSubmitting', false],\n ['set', '@entity.error', '@payload.error'],\n ['notify', { type: 'error', message: '@config.errorMessage' }],\n ],\n },\n {\n from: 'Error',\n to: 'Submitting',\n event: 'RETRY',\n effects: [\n ['set', '@entity.isSubmitting', true],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: ['Success', 'Error'],\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.isSubmitting', false],\n ['set', '@entity.error', null],\n ['set', '@entity.lastSubmittedData', null],\n ],\n },\n ],\n },\n\n configSchema: {\n required: [],\n optional: [\n { name: 'successMessage', type: 'string', description: 'Success notification', default: 'Saved successfully' },\n { name: 'errorMessage', type: 'string', description: 'Error notification', default: 'Failed to save' },\n { name: 'resetOnSuccess', type: 'boolean', description: 'Reset to idle on success', default: false },\n ],\n },\n};\n\n// ============================================================================\n// std/Retry - Automatic Retry\n// ============================================================================\n\nexport const RETRY_BEHAVIOR: StandardBehavior = {\n name: 'std/Retry',\n category: 'async',\n description: 'Automatic retry with exponential backoff',\n suggestedFor: [\n 'Network requests',\n 'Unreliable operations',\n 'Transient failures',\n 'Recovery logic',\n ],\n\n dataEntities: [\n {\n name: 'RetryState',\n runtime: true,\n singleton: true,\n fields: [\n { name: 'attempt', type: 'number', default: 0 },\n { name: 'error', type: 'object', default: null },\n { name: 'nextRetryAt', type: 'number', default: null },\n ],\n },\n ],\n\n stateMachine: {\n initial: 'Idle',\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Attempting' },\n { name: 'Waiting' },\n { name: 'Success' },\n { name: 'Failed' },\n ],\n events: [\n { key: 'START' },\n { key: 'ATTEMPT_SUCCESS' },\n { key: 'ATTEMPT_ERROR' },\n { key: 'RETRY_TICK' },\n { key: 'GIVE_UP' },\n { key: 'RESET' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Attempting',\n event: 'START',\n effects: [\n ['set', '@entity.attempt', 1],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Attempting',\n to: 'Success',\n event: 'ATTEMPT_SUCCESS',\n effects: [],\n },\n {\n from: 'Attempting',\n to: 'Waiting',\n event: 'ATTEMPT_ERROR',\n guard: ['<', '@entity.attempt', '@config.maxAttempts'],\n effects: [\n ['set', '@entity.error', '@payload.error'],\n ['let', [['delay', ['math/min',\n ['*', '@config.initialDelayMs', ['math/pow', '@config.backoffMultiplier', '@entity.attempt']],\n '@config.maxDelayMs']]],\n ['set', '@entity.nextRetryAt', ['+', ['time/now'], '@delay']],\n ['async/delay', '@delay', ['emit', 'RETRY_TICK']]],\n ],\n },\n {\n from: 'Attempting',\n to: 'Failed',\n event: 'ATTEMPT_ERROR',\n guard: ['>=', '@entity.attempt', '@config.maxAttempts'],\n effects: [\n ['set', '@entity.error', '@payload.error'],\n ['notify', { type: 'error', message: 'All retry attempts failed' }],\n ],\n },\n {\n from: 'Waiting',\n to: 'Attempting',\n event: 'RETRY_TICK',\n effects: [\n ['set', '@entity.attempt', ['+', '@entity.attempt', 1]],\n ],\n },\n {\n from: 'Waiting',\n to: 'Failed',\n event: 'GIVE_UP',\n effects: [\n ['notify', { type: 'warning', message: 'Retry cancelled' }],\n ],\n },\n {\n from: ['Success', 'Failed'],\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.attempt', 0],\n ['set', '@entity.error', null],\n ['set', '@entity.nextRetryAt', null],\n ],\n },\n ],\n },\n\n configSchema: {\n required: [],\n optional: [\n { name: 'maxAttempts', type: 'number', description: 'Maximum retry attempts', default: 3 },\n { name: 'initialDelayMs', type: 'number', description: 'Initial retry delay', default: 1000 },\n { name: 'maxDelayMs', type: 'number', description: 'Maximum retry delay', default: 30000 },\n { name: 'backoffMultiplier', type: 'number', description: 'Backoff multiplier', default: 2 },\n ],\n },\n};\n\n// ============================================================================\n// std/Poll - Periodic Polling\n// ============================================================================\n\nexport const POLL_BEHAVIOR: StandardBehavior = {\n name: 'std/Poll',\n category: 'async',\n description: 'Periodic polling with start/stop control',\n suggestedFor: [\n 'Real-time updates',\n 'Status checking',\n 'Live data',\n 'Notification polling',\n ],\n\n dataEntities: [\n {\n name: 'PollState',\n runtime: true,\n singleton: true,\n fields: [\n { name: 'isPolling', type: 'boolean', default: false },\n { name: 'pollCount', type: 'number', default: 0 },\n { name: 'lastPollAt', type: 'number', default: null },\n { name: 'error', type: 'object', default: null },\n ],\n },\n ],\n\n stateMachine: {\n initial: 'Stopped',\n states: [\n { name: 'Stopped', isInitial: true },\n { name: 'Polling' },\n { name: 'Paused' },\n ],\n events: [\n { key: 'START' },\n { key: 'STOP' },\n { key: 'PAUSE' },\n { key: 'RESUME' },\n { key: 'POLL_TICK' },\n { key: 'POLL_SUCCESS' },\n { key: 'POLL_ERROR' },\n ],\n transitions: [\n {\n from: 'Stopped',\n to: 'Polling',\n event: 'START',\n effects: [\n ['set', '@entity.isPolling', true],\n ['set', '@entity.pollCount', 0],\n ['async/interval', '@config.intervalMs', ['emit', 'POLL_TICK']],\n ],\n },\n {\n from: 'Polling',\n event: 'POLL_TICK',\n guard: ['or', ['=', '@config.maxPolls', null], ['<', '@entity.pollCount', '@config.maxPolls']],\n effects: [\n ['set', '@entity.lastPollAt', ['time/now']],\n ],\n },\n {\n from: 'Polling',\n event: 'POLL_SUCCESS',\n effects: [\n ['set', '@entity.pollCount', ['+', '@entity.pollCount', 1]],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Polling',\n event: 'POLL_ERROR',\n effects: [\n ['set', '@entity.error', '@payload.error'],\n ['when', '@config.stopOnError', ['emit', 'STOP']],\n ],\n },\n {\n from: 'Polling',\n to: 'Paused',\n event: 'PAUSE',\n effects: [\n ['set', '@entity.isPolling', false],\n ],\n },\n {\n from: 'Paused',\n to: 'Polling',\n event: 'RESUME',\n effects: [\n ['set', '@entity.isPolling', true],\n ['async/interval', '@config.intervalMs', ['emit', 'POLL_TICK']],\n ],\n },\n {\n from: ['Polling', 'Paused'],\n to: 'Stopped',\n event: 'STOP',\n effects: [\n ['set', '@entity.isPolling', false],\n ],\n },\n ],\n },\n\n configSchema: {\n required: [],\n optional: [\n { name: 'intervalMs', type: 'number', description: 'Poll interval in ms', default: 5000 },\n { name: 'stopOnError', type: 'boolean', description: 'Stop polling on error', default: false },\n { name: 'maxPolls', type: 'number', description: 'Maximum poll count (null = infinite)', default: null },\n ],\n },\n};\n\n// ============================================================================\n// Export All Async Behaviors\n// ============================================================================\n\nexport const ASYNC_BEHAVIORS: StandardBehavior[] = [\n LOADING_BEHAVIOR,\n FETCH_BEHAVIOR,\n SUBMIT_BEHAVIOR,\n RETRY_BEHAVIOR,\n POLL_BEHAVIOR,\n];\n"]}
1
+ {"version":3,"sources":["../../behaviors/async.ts"],"names":[],"mappings":"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","file":"async.js","sourcesContent":["/**\n * Async Behaviors\n *\n * Standard behaviors for asynchronous operations like loading,\n * fetching, submission, retry, and polling.\n * Each behavior is a self-contained OrbitalSchema that can function as a standalone .orb file.\n *\n * @packageDocumentation\n */\n\nimport type { OrbitalSchema } from './types.js';\n\n// ============================================================================\n// std-loading - Loading State Management\n// ============================================================================\n\nexport const LOADING_BEHAVIOR: OrbitalSchema = {\n name: 'std-loading',\n version: '1.0.0',\n description: 'Loading state management with success/error handling',\n orbitals: [\n {\n name: 'LoadingOrbital',\n entity: {\n name: 'LoadingState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'isLoading', type: 'boolean', default: false },\n { name: 'error', type: 'object', default: null },\n { name: 'data', type: 'object', default: null },\n { name: 'startTime', type: 'number', default: null },\n ],\n },\n traits: [\n {\n name: 'Loading',\n linkedEntity: 'LoadingState',\n category: 'lifecycle',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Loading' },\n { name: 'Success' },\n { name: 'Error' },\n ],\n events: [\n { key: 'START', name: 'Start' },\n { key: 'SUCCESS', name: 'Success' },\n { key: 'ERROR', name: 'Error' },\n { key: 'RETRY', name: 'Retry' },\n { key: 'RESET', name: 'Reset' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Loading',\n event: 'START',\n effects: [\n ['set', '@entity.isLoading', true],\n ['set', '@entity.error', null],\n ['set', '@entity.startTime', ['time/now']],\n ['render-ui', 'content', {\n type: 'loading-state',\n }],\n ],\n },\n {\n from: 'Loading',\n to: 'Success',\n event: 'SUCCESS',\n effects: [\n ['set', '@entity.isLoading', false],\n ['set', '@entity.data', '@payload.data'],\n ],\n },\n {\n from: 'Loading',\n to: 'Error',\n event: 'ERROR',\n effects: [\n ['set', '@entity.isLoading', false],\n ['set', '@entity.error', '@payload.error'],\n ['render-ui', 'content', {\n type: 'error-state',\n message: '@entity.error',\n onRetry: 'RETRY',\n }],\n ],\n },\n {\n from: 'Error',\n to: 'Loading',\n event: 'RETRY',\n effects: [\n ['set', '@entity.isLoading', true],\n ['set', '@entity.error', null],\n ['set', '@entity.startTime', ['time/now']],\n ['render-ui', 'content', {\n type: 'loading-state',\n }],\n ],\n },\n {\n from: 'Success',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.isLoading', false],\n ['set', '@entity.error', null],\n ['set', '@entity.data', null],\n ],\n },\n {\n from: 'Error',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.isLoading', false],\n ['set', '@entity.error', null],\n ['set', '@entity.data', null],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-fetch - Data Fetching\n// ============================================================================\n\nexport const FETCH_BEHAVIOR: OrbitalSchema = {\n name: 'std-fetch',\n version: '1.0.0',\n description: 'Data fetching with caching and refresh capabilities',\n orbitals: [\n {\n name: 'FetchOrbital',\n entity: {\n name: 'FetchState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'data', type: 'object', default: null },\n { name: 'error', type: 'object', default: null },\n { name: 'isFetching', type: 'boolean', default: false },\n { name: 'lastFetchedAt', type: 'number', default: null },\n ],\n },\n traits: [\n {\n name: 'Fetch',\n linkedEntity: 'FetchState',\n category: 'lifecycle',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Fetching' },\n { name: 'Stale' },\n { name: 'Fresh' },\n { name: 'Error' },\n ],\n events: [\n { key: 'FETCH', name: 'Fetch' },\n { key: 'FETCH_SUCCESS', name: 'Fetch Success' },\n { key: 'FETCH_ERROR', name: 'Fetch Error' },\n { key: 'REFRESH', name: 'Refresh' },\n { key: 'INVALIDATE', name: 'Invalidate' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Fetching',\n event: 'FETCH',\n effects: [\n ['set', '@entity.isFetching', true],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Stale',\n to: 'Fetching',\n event: 'FETCH',\n effects: [\n ['set', '@entity.isFetching', true],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Fetching',\n to: 'Fresh',\n event: 'FETCH_SUCCESS',\n effects: [\n ['set', '@entity.isFetching', false],\n ['set', '@entity.data', '@payload.data'],\n ['set', '@entity.lastFetchedAt', ['time/now']],\n ],\n },\n {\n from: 'Fetching',\n to: 'Error',\n event: 'FETCH_ERROR',\n effects: [\n ['set', '@entity.isFetching', false],\n ['set', '@entity.error', '@payload.error'],\n ],\n },\n {\n from: 'Fresh',\n to: 'Stale',\n event: 'INVALIDATE',\n effects: [['set', '@entity.lastFetchedAt', null]],\n },\n {\n from: 'Fresh',\n to: 'Fetching',\n event: 'REFRESH',\n effects: [\n ['set', '@entity.isFetching', true],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Stale',\n to: 'Fetching',\n event: 'REFRESH',\n effects: [\n ['set', '@entity.isFetching', true],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Error',\n to: 'Fetching',\n event: 'REFRESH',\n effects: [\n ['set', '@entity.isFetching', true],\n ['set', '@entity.error', null],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-submit - Form Submission\n// ============================================================================\n\nexport const SUBMIT_BEHAVIOR: OrbitalSchema = {\n name: 'std-submit',\n version: '1.0.0',\n description: 'Async submission with retry capabilities',\n orbitals: [\n {\n name: 'SubmitOrbital',\n entity: {\n name: 'SubmitState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'isSubmitting', type: 'boolean', default: false },\n { name: 'error', type: 'object', default: null },\n { name: 'lastSubmittedData', type: 'object', default: null },\n { name: 'successMessage', type: 'string', default: 'Submitted successfully' },\n { name: 'errorMessage', type: 'string', default: 'Submission failed' },\n { name: 'resetOnSuccess', type: 'boolean', default: false },\n ],\n },\n traits: [\n {\n name: 'Submit',\n linkedEntity: 'SubmitState',\n category: 'lifecycle',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Submitting' },\n { name: 'Success' },\n { name: 'Error' },\n ],\n events: [\n { key: 'SUBMIT', name: 'Submit' },\n { key: 'SUBMIT_SUCCESS', name: 'Submit Success' },\n { key: 'SUBMIT_ERROR', name: 'Submit Error' },\n { key: 'RETRY', name: 'Retry' },\n { key: 'RESET', name: 'Reset' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Submitting',\n event: 'SUBMIT',\n effects: [\n ['set', '@entity.isSubmitting', true],\n ['set', '@entity.error', null],\n ['set', '@entity.lastSubmittedData', '@payload.data'],\n ],\n },\n {\n from: 'Submitting',\n to: 'Success',\n event: 'SUBMIT_SUCCESS',\n effects: [\n ['set', '@entity.isSubmitting', false],\n ['notify', 'in_app', '@entity.successMessage'],\n ['when', '@entity.resetOnSuccess', ['emit', 'RESET']],\n ],\n },\n {\n from: 'Submitting',\n to: 'Error',\n event: 'SUBMIT_ERROR',\n effects: [\n ['set', '@entity.isSubmitting', false],\n ['set', '@entity.error', '@payload.error'],\n ['notify', 'in_app', '@entity.errorMessage'],\n ],\n },\n {\n from: 'Error',\n to: 'Submitting',\n event: 'RETRY',\n effects: [\n ['set', '@entity.isSubmitting', true],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Success',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.isSubmitting', false],\n ['set', '@entity.error', null],\n ['set', '@entity.lastSubmittedData', null],\n ],\n },\n {\n from: 'Error',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.isSubmitting', false],\n ['set', '@entity.error', null],\n ['set', '@entity.lastSubmittedData', null],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-retry - Automatic Retry\n// ============================================================================\n\nexport const RETRY_BEHAVIOR: OrbitalSchema = {\n name: 'std-retry',\n version: '1.0.0',\n description: 'Automatic retry with exponential backoff',\n orbitals: [\n {\n name: 'RetryOrbital',\n entity: {\n name: 'RetryState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'attempt', type: 'number', default: 0 },\n { name: 'error', type: 'object', default: null },\n { name: 'nextRetryAt', type: 'number', default: null },\n { name: 'maxAttempts', type: 'number', default: 3 },\n { name: 'initialDelayMs', type: 'number', default: 1000 },\n { name: 'backoffMultiplier', type: 'number', default: 2 },\n { name: 'maxDelayMs', type: 'number', default: 30000 },\n ],\n },\n traits: [\n {\n name: 'Retry',\n linkedEntity: 'RetryState',\n category: 'lifecycle',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Attempting' },\n { name: 'Waiting' },\n { name: 'Success', isTerminal: true },\n { name: 'Failed', isTerminal: true },\n ],\n events: [\n { key: 'START', name: 'Start' },\n { key: 'ATTEMPT_SUCCESS', name: 'Attempt Success' },\n { key: 'ATTEMPT_ERROR', name: 'Attempt Error' },\n { key: 'RETRY_TICK', name: 'Retry Tick' },\n { key: 'GIVE_UP', name: 'Give Up' },\n { key: 'RESET', name: 'Reset' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Attempting',\n event: 'START',\n effects: [\n ['set', '@entity.attempt', 1],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Attempting',\n to: 'Success',\n event: 'ATTEMPT_SUCCESS',\n effects: [],\n },\n {\n from: 'Attempting',\n to: 'Waiting',\n event: 'ATTEMPT_ERROR',\n guard: ['<', '@entity.attempt', '@entity.maxAttempts'],\n effects: [\n ['set', '@entity.error', '@payload.error'],\n ['let', [['delay', ['math/min',\n ['*', '@entity.initialDelayMs', ['math/pow', '@entity.backoffMultiplier', '@entity.attempt']],\n '@entity.maxDelayMs']]],\n ['set', '@entity.nextRetryAt', ['+', ['time/now'], '@delay']],\n ['async/delay', '@delay', ['emit', 'RETRY_TICK']]],\n ],\n },\n {\n from: 'Attempting',\n to: 'Failed',\n event: 'ATTEMPT_ERROR',\n guard: ['>=', '@entity.attempt', '@entity.maxAttempts'],\n effects: [\n ['set', '@entity.error', '@payload.error'],\n ['notify', 'in_app', 'All retry attempts failed'],\n ],\n },\n {\n from: 'Waiting',\n to: 'Attempting',\n event: 'RETRY_TICK',\n effects: [['set', '@entity.attempt', ['+', '@entity.attempt', 1]]],\n },\n {\n from: 'Waiting',\n to: 'Failed',\n event: 'GIVE_UP',\n effects: [['notify', 'in_app', 'Retry cancelled']],\n },\n {\n from: 'Success',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.attempt', 0],\n ['set', '@entity.error', null],\n ['set', '@entity.nextRetryAt', null],\n ],\n },\n {\n from: 'Failed',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.attempt', 0],\n ['set', '@entity.error', null],\n ['set', '@entity.nextRetryAt', null],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-poll - Periodic Polling\n// ============================================================================\n\nexport const POLL_BEHAVIOR: OrbitalSchema = {\n name: 'std-poll',\n version: '1.0.0',\n description: 'Periodic polling with start/stop control',\n orbitals: [\n {\n name: 'PollOrbital',\n entity: {\n name: 'PollState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'isPolling', type: 'boolean', default: false },\n { name: 'pollCount', type: 'number', default: 0 },\n { name: 'lastPollAt', type: 'number', default: null },\n { name: 'error', type: 'object', default: null },\n { name: 'intervalMs', type: 'number', default: 5000 },\n { name: 'maxPolls', type: 'number', default: null },\n { name: 'stopOnError', type: 'boolean', default: false },\n ],\n },\n traits: [\n {\n name: 'Poll',\n linkedEntity: 'PollState',\n category: 'lifecycle',\n stateMachine: {\n states: [\n { name: 'Stopped', isInitial: true },\n { name: 'Polling' },\n { name: 'Paused' },\n ],\n events: [\n { key: 'START', name: 'Start' },\n { key: 'STOP', name: 'Stop' },\n { key: 'PAUSE', name: 'Pause' },\n { key: 'RESUME', name: 'Resume' },\n { key: 'POLL_TICK', name: 'Poll Tick' },\n { key: 'POLL_SUCCESS', name: 'Poll Success' },\n { key: 'POLL_ERROR', name: 'Poll Error' },\n ],\n transitions: [\n {\n from: 'Stopped',\n to: 'Polling',\n event: 'START',\n effects: [\n ['set', '@entity.isPolling', true],\n ['set', '@entity.pollCount', 0],\n ['async/interval', '@entity.intervalMs', ['emit', 'POLL_TICK']],\n ],\n },\n {\n from: 'Polling',\n to: 'Polling',\n event: 'POLL_TICK',\n guard: ['or', ['=', '@entity.maxPolls', null], ['<', '@entity.pollCount', '@entity.maxPolls']],\n effects: [['set', '@entity.lastPollAt', ['time/now']]],\n },\n {\n from: 'Polling',\n to: 'Polling',\n event: 'POLL_SUCCESS',\n effects: [\n ['set', '@entity.pollCount', ['+', '@entity.pollCount', 1]],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Polling',\n to: 'Polling',\n event: 'POLL_ERROR',\n effects: [\n ['set', '@entity.error', '@payload.error'],\n ['when', '@entity.stopOnError', ['emit', 'STOP']],\n ],\n },\n {\n from: 'Polling',\n to: 'Paused',\n event: 'PAUSE',\n effects: [['set', '@entity.isPolling', false]],\n },\n {\n from: 'Paused',\n to: 'Polling',\n event: 'RESUME',\n effects: [\n ['set', '@entity.isPolling', true],\n ['async/interval', '@entity.intervalMs', ['emit', 'POLL_TICK']],\n ],\n },\n {\n from: 'Polling',\n to: 'Stopped',\n event: 'STOP',\n effects: [['set', '@entity.isPolling', false]],\n },\n {\n from: 'Paused',\n to: 'Stopped',\n event: 'STOP',\n effects: [['set', '@entity.isPolling', false]],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// Export All Async Behaviors\n// ============================================================================\n\nexport const ASYNC_BEHAVIORS: OrbitalSchema[] = [\n LOADING_BEHAVIOR,\n FETCH_BEHAVIOR,\n SUBMIT_BEHAVIOR,\n RETRY_BEHAVIOR,\n POLL_BEHAVIOR,\n];\n"]}
@@ -1,40 +1,32 @@
1
- import { StandardBehavior } from './types.js';
2
- import '@almadar/core/types';
1
+ import { OrbitalSchema } from '@almadar/core/types';
3
2
 
4
3
  /**
5
4
  * Data Management Behaviors
6
5
  *
7
6
  * Standard behaviors for data operations like pagination, selection,
8
7
  * sorting, filtering, and search.
8
+ * Each behavior is a self-contained OrbitalSchema that can function as a standalone .orb file.
9
9
  *
10
10
  * @packageDocumentation
11
11
  */
12
12
 
13
13
  /**
14
- * std/Pagination - Page navigation behavior for large data sets.
14
+ * std-pagination - Page navigation behavior for large data sets.
15
15
  */
16
- declare const PAGINATION_BEHAVIOR: StandardBehavior;
17
- declare const SELECTION_BEHAVIOR: StandardBehavior;
18
- declare const SORT_BEHAVIOR: StandardBehavior;
16
+ declare const PAGINATION_BEHAVIOR: OrbitalSchema;
17
+ declare const SELECTION_BEHAVIOR: OrbitalSchema;
18
+ declare const SORT_BEHAVIOR: OrbitalSchema;
19
19
  /**
20
- * std/Filter - Query Singleton pattern for explicit filtering.
20
+ * std-filter - Query Singleton pattern for explicit filtering.
21
21
  *
22
22
  * This behavior uses a singleton entity to hold filter state, making filtering
23
23
  * explicit in the schema rather than implicit in component behavior.
24
- *
25
- * The query singleton is referenced by patterns via the `query` prop:
26
- * ```json
27
- * { "type": "entity-table", "entity": "Task", "query": "@TaskQuery" }
28
- * ```
29
24
  */
30
- declare const FILTER_BEHAVIOR: StandardBehavior;
25
+ declare const FILTER_BEHAVIOR: OrbitalSchema;
31
26
  /**
32
- * std/Search - Search with debounce.
33
- *
34
- * Uses a singleton to hold search state. Can be combined with std/Filter
35
- * for full query singleton functionality, or used standalone.
27
+ * std-search - Search with debounce.
36
28
  */
37
- declare const SEARCH_BEHAVIOR: StandardBehavior;
38
- declare const DATA_MANAGEMENT_BEHAVIORS: StandardBehavior[];
29
+ declare const SEARCH_BEHAVIOR: OrbitalSchema;
30
+ declare const DATA_MANAGEMENT_BEHAVIORS: OrbitalSchema[];
39
31
 
40
32
  export { DATA_MANAGEMENT_BEHAVIORS, FILTER_BEHAVIOR, PAGINATION_BEHAVIOR, SEARCH_BEHAVIOR, SELECTION_BEHAVIOR, SORT_BEHAVIOR };