@pikku/core 0.12.107 → 0.12.112
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/CHANGELOG.md +357 -0
- package/dist/analytics/analytics.d.ts +6 -0
- package/dist/analytics/analytics.js +58 -0
- package/dist/analytics/analytics.types.d.ts +156 -0
- package/dist/analytics/analytics.types.js +1 -0
- package/dist/analytics/anonymous-analytics-identity.d.ts +23 -0
- package/dist/analytics/anonymous-analytics-identity.js +27 -0
- package/dist/analytics/compose-analytics-identity.d.ts +14 -0
- package/dist/analytics/compose-analytics-identity.js +33 -0
- package/dist/analytics/cookie-analytics-identity.d.ts +24 -0
- package/dist/analytics/cookie-analytics-identity.js +37 -0
- package/dist/analytics/define-analytics-events.d.ts +22 -0
- package/dist/analytics/define-analytics-events.js +9 -0
- package/dist/analytics/fan-out-analytics.d.ts +15 -0
- package/dist/analytics/fan-out-analytics.js +36 -0
- package/dist/analytics/index.d.ts +13 -0
- package/dist/analytics/index.js +8 -0
- package/dist/analytics/logger-analytics-service.d.ts +14 -0
- package/dist/analytics/logger-analytics-service.js +23 -0
- package/dist/analytics/mint-cookie.d.ts +44 -0
- package/dist/analytics/mint-cookie.js +55 -0
- package/dist/dev/hot-reload.d.ts +0 -1
- package/dist/dev/hot-reload.js +4 -25
- package/dist/dev/module-runner.js +104 -25
- package/dist/errors/errors.d.ts +7 -0
- package/dist/errors/errors.js +17 -0
- package/dist/function/function-meta.types.d.ts +2 -0
- package/dist/function/function-runner.js +29 -0
- package/dist/function/functions.types.d.ts +22 -3
- package/dist/middleware/auth-apikey.d.ts +1 -1
- package/dist/pikku-state.d.ts +1 -1
- package/dist/scopes.d.ts +11 -0
- package/dist/scopes.js +17 -0
- package/dist/services/credential-wire-service.d.ts +1 -1
- package/dist/services/feature-flag-service.d.ts +100 -0
- package/dist/services/feature-flag-service.js +1 -0
- package/dist/services/index.d.ts +1 -0
- package/dist/services/meta-service.d.ts +16 -0
- package/dist/services/meta-service.js +19 -0
- package/dist/services/webhook-service.d.ts +7 -2
- package/dist/services/webhook-service.js +11 -6
- package/dist/testing/service-tests/agent-run-service-tests.d.ts +2 -2
- package/dist/testing/service-tests/agent-storage-service-tests.d.ts +1 -1
- package/dist/testing/service-tests/channel-store-tests.d.ts +1 -1
- package/dist/testing/service-tests/credential-service-tests.d.ts +1 -1
- package/dist/testing/service-tests/deployment-service-tests.d.ts +1 -1
- package/dist/testing/service-tests/event-hub-store-tests.d.ts +1 -1
- package/dist/testing/service-tests/secret-service-tests.d.ts +1 -1
- package/dist/testing/service-tests/session-store-tests.d.ts +1 -1
- package/dist/testing/service-tests/workflow-run-service-tests.d.ts +1 -1
- package/dist/testing/service-tests/workflow-service-tests.d.ts +1 -1
- package/dist/types/core.types.d.ts +23 -0
- package/dist/wirings/agent/agent-rpc.d.ts +1 -1
- package/dist/wirings/agent/agent-turn.d.ts +1 -1
- package/dist/wirings/agent-scorer/agent-scorer-live.d.ts +1 -1
- package/dist/wirings/channel/channel-common.d.ts +1 -1
- package/dist/wirings/channel/channel-rpc-validators.d.ts +2 -2
- package/dist/wirings/channel/channel-runner.d.ts +1 -1
- package/dist/wirings/channel/local/local-channel-runner.d.ts +1 -1
- package/dist/wirings/channel/serverless/serverless-channel-runner.d.ts +1 -1
- package/dist/wirings/cli/channel/cli-approval.d.ts +2 -2
- package/dist/wirings/flag/assert-feature-available.d.ts +15 -0
- package/dist/wirings/flag/assert-feature-available.js +23 -0
- package/dist/wirings/flag/cached-flag-source.d.ts +73 -0
- package/dist/wirings/flag/cached-flag-source.js +96 -0
- package/dist/wirings/flag/define-feature-flags.d.ts +33 -0
- package/dist/wirings/flag/define-feature-flags.js +32 -0
- package/dist/wirings/flag/flag.types.d.ts +97 -0
- package/dist/wirings/flag/flag.types.js +1 -0
- package/dist/wirings/flag/index.d.ts +7 -0
- package/dist/wirings/flag/index.js +5 -0
- package/dist/wirings/flag/resolve-flag.d.ts +52 -0
- package/dist/wirings/flag/resolve-flag.js +90 -0
- package/dist/wirings/flag/validate-flag-definitions.d.ts +26 -0
- package/dist/wirings/flag/validate-flag-definitions.js +103 -0
- package/dist/wirings/virtual-user/virtual-user-scaffold.d.ts +8 -8
- package/dist/wirings/virtual-user/virtual-user-schedule.d.ts +1 -1
- package/dist/wirings/workflow/workflow-queue-routing.d.ts +1 -1
- package/knowledge/decisions/internals/a-reset-suite-makes-the-dev-seed-the-fixture.md +50 -0
- package/knowledge/decisions/internals/hot-reload-reads-the-changed-source-never-a-compiled-copy.md +38 -0
- package/knowledge/decisions/internals/index.md +2 -0
- package/package.json +11 -5
- package/run-tests.sh +17 -9
- package/src/public-surface.json +26 -0
- package/src/agent-naming.test.ts +0 -68
- package/src/api-report.test.ts +0 -138
- package/src/app-alias-surface.test.ts +0 -179
- package/src/app-leaf-surface.test.ts +0 -222
- package/src/bootstrap-compat/root.ts +0 -20
- package/src/classification/column-form.test.ts +0 -97
- package/src/classification/column-form.ts +0 -55
- package/src/classification/data-classification.ts +0 -73
- package/src/classification/index.ts +0 -40
- package/src/classification/key-ids.ts +0 -2
- package/src/classification/secret-value.test.ts +0 -204
- package/src/classification/secret-value.ts +0 -106
- package/src/crypto-utils.test.ts +0 -668
- package/src/crypto-utils.ts +0 -460
- package/src/dev/hot-reload.test.ts +0 -587
- package/src/dev/hot-reload.ts +0 -225
- package/src/dev/module-runner.test.ts +0 -235
- package/src/dev/module-runner.ts +0 -138
- package/src/dev/reload-meta.test.ts +0 -183
- package/src/dev/reload-meta.ts +0 -144
- package/src/ecosystem-tier-removed.test.ts +0 -72
- package/src/env.ts +0 -1
- package/src/errors/error-handler.ts +0 -77
- package/src/errors/error.test.ts +0 -229
- package/src/errors/errors.ts +0 -393
- package/src/errors/index.ts +0 -11
- package/src/errors/serialized-error.ts +0 -12
- package/src/factory-functions.test.ts +0 -111
- package/src/function/abort-scope.test.ts +0 -97
- package/src/function/abort-scope.ts +0 -80
- package/src/function/function-meta.types.ts +0 -151
- package/src/function/function-runner.test.ts +0 -1619
- package/src/function/function-runner.ts +0 -499
- package/src/function/functions.types.ts +0 -319
- package/src/function/index.ts +0 -40
- package/src/function/list.types.test.ts +0 -100
- package/src/function/list.types.ts +0 -69
- package/src/function/pikku-request.test.ts +0 -35
- package/src/function/pikku-request.ts +0 -17
- package/src/gopass-secrets-removed.test.ts +0 -51
- package/src/handle-error.test.ts +0 -532
- package/src/handle-error.ts +0 -64
- package/src/middleware/auth-apikey.test.ts +0 -362
- package/src/middleware/auth-apikey.ts +0 -39
- package/src/middleware/auth-bearer.test.ts +0 -566
- package/src/middleware/auth-bearer.ts +0 -83
- package/src/middleware/auth-cookie.test.ts +0 -572
- package/src/middleware/auth-cookie.ts +0 -107
- package/src/middleware/cors.test.ts +0 -579
- package/src/middleware/cors.ts +0 -103
- package/src/middleware/index.ts +0 -30
- package/src/middleware/middleware-factories.ts +0 -76
- package/src/middleware/middleware.types.ts +0 -61
- package/src/middleware/remote-auth.test.ts +0 -547
- package/src/middleware/remote-auth.ts +0 -95
- package/src/middleware/remote-jobs-secret.ts +0 -35
- package/src/middleware/require-origin.test.ts +0 -115
- package/src/middleware/require-origin.ts +0 -79
- package/src/middleware/telemetry.ts +0 -83
- package/src/middleware-runner.test.ts +0 -578
- package/src/middleware-runner.ts +0 -232
- package/src/no-any-casts.test.ts +0 -57
- package/src/no-root-barrel.test.ts +0 -122
- package/src/permissions.test.ts +0 -256
- package/src/permissions.ts +0 -217
- package/src/pikku-state.test.ts +0 -198
- package/src/pikku-state.ts +0 -206
- package/src/production-barrels-stay-lean.test.ts +0 -110
- package/src/public-surface.test.ts +0 -133
- package/src/remote.test.ts +0 -173
- package/src/remote.ts +0 -56
- package/src/removed-legacy-exports.test.ts +0 -66
- package/src/run-tests-script.test.ts +0 -67
- package/src/schema.test.ts +0 -430
- package/src/schema.ts +0 -204
- package/src/scopes.test.ts +0 -203
- package/src/scopes.ts +0 -67
- package/src/services/agent-run-state-service.ts +0 -37
- package/src/services/agent-runner-service.ts +0 -238
- package/src/services/agent-storage-service.ts +0 -39
- package/src/services/ai-embedding-service.ts +0 -9
- package/src/services/audit-service.test.ts +0 -44
- package/src/services/audit-service.ts +0 -280
- package/src/services/content-service.ts +0 -65
- package/src/services/credential-service.ts +0 -20
- package/src/services/credential-wire-service.test.ts +0 -235
- package/src/services/credential-wire-service.ts +0 -120
- package/src/services/deployment-service.ts +0 -32
- package/src/services/email-service.test.ts +0 -100
- package/src/services/email-service.ts +0 -60
- package/src/services/email-template.test.ts +0 -311
- package/src/services/email-template.ts +0 -254
- package/src/services/file-scenario-run-store.test.ts +0 -349
- package/src/services/file-scenario-run-store.ts +0 -282
- package/src/services/gateway-service.ts +0 -5
- package/src/services/http-personas-converse.test.ts +0 -274
- package/src/services/http-personas.test.ts +0 -379
- package/src/services/http-personas.ts +0 -508
- package/src/services/in-memory-agent-run-state-service.ts +0 -87
- package/src/services/in-memory-queue-service.test.ts +0 -162
- package/src/services/in-memory-queue-service.ts +0 -78
- package/src/services/in-memory-session-store.test.ts +0 -58
- package/src/services/in-memory-session-store.ts +0 -20
- package/src/services/in-memory-trigger-service.ts +0 -47
- package/src/services/in-memory-workflow-service.test.ts +0 -430
- package/src/services/in-memory-workflow-service.ts +0 -595
- package/src/services/index.ts +0 -192
- package/src/services/istanbul-coverage-service.test.ts +0 -66
- package/src/services/istanbul-coverage-service.ts +0 -59
- package/src/services/jwt-service.ts +0 -15
- package/src/services/local-content-request-handler.test.ts +0 -240
- package/src/services/local-content-request-handler.ts +0 -295
- package/src/services/local-content.test.ts +0 -186
- package/src/services/local-content.ts +0 -242
- package/src/services/local-credential-service.ts +0 -63
- package/src/services/local-email-service.test.ts +0 -182
- package/src/services/local-email-service.ts +0 -43
- package/src/services/local-gateway-service.ts +0 -51
- package/src/services/local-secrets.test.ts +0 -95
- package/src/services/local-secrets.ts +0 -71
- package/src/services/local-variables.test.ts +0 -61
- package/src/services/local-variables.ts +0 -45
- package/src/services/logger-console.test.ts +0 -117
- package/src/services/logger-console.ts +0 -174
- package/src/services/logger.ts +0 -48
- package/src/services/meta-service.test.ts +0 -75
- package/src/services/meta-service.ts +0 -767
- package/src/services/persona-actor-secret.test.ts +0 -68
- package/src/services/persona-actor-secret.ts +0 -70
- package/src/services/persona-sign-in.test.ts +0 -219
- package/src/services/persona-sign-in.ts +0 -238
- package/src/services/personas-service.ts +0 -191
- package/src/services/pikku-user-id.test.ts +0 -62
- package/src/services/pikku-user-id.ts +0 -13
- package/src/services/queue-webhook-service.test.ts +0 -409
- package/src/services/queue-webhook-service.ts +0 -150
- package/src/services/remote-jobs.test.ts +0 -106
- package/src/services/remote-jobs.ts +0 -92
- package/src/services/scheduler-service.ts +0 -37
- package/src/services/schema-service.ts +0 -10
- package/src/services/scope-service.ts +0 -91
- package/src/services/scoped-credential-service.test.ts +0 -86
- package/src/services/scoped-credential-service.ts +0 -63
- package/src/services/scoped-secret-service.test.ts +0 -93
- package/src/services/scoped-secret-service.ts +0 -40
- package/src/services/secret-host-binding.test.ts +0 -138
- package/src/services/secret-host-binding.ts +0 -51
- package/src/services/secret-service.ts +0 -25
- package/src/services/secretless.test.ts +0 -54
- package/src/services/secretless.ts +0 -29
- package/src/services/session-store.ts +0 -9
- package/src/services/stub-tracker.test.ts +0 -104
- package/src/services/stub-tracker.ts +0 -175
- package/src/services/system-role-guard.test.ts +0 -96
- package/src/services/system-role-guard.ts +0 -71
- package/src/services/temporary-file-service.ts +0 -76
- package/src/services/trigger-service.ts +0 -5
- package/src/services/typed-credential-service.ts +0 -83
- package/src/services/typed-secret-service.test.ts +0 -204
- package/src/services/typed-secret-service.ts +0 -132
- package/src/services/typed-variables-service.test.ts +0 -166
- package/src/services/typed-variables-service.ts +0 -166
- package/src/services/user-session-service.test.ts +0 -147
- package/src/services/user-session-service.ts +0 -85
- package/src/services/v8-coverage-service.test.ts +0 -69
- package/src/services/v8-coverage-service.ts +0 -163
- package/src/services/variables-service.ts +0 -13
- package/src/services/webhook-service.ts +0 -147
- package/src/services/workflow-service.ts +0 -120
- package/src/side-effects-are-declared.test.ts +0 -84
- package/src/source-files-stay-composable.test.ts +0 -41
- package/src/template-alias-surface.test.ts +0 -240
- package/src/test-utils.ts +0 -38
- package/src/testing/index.ts +0 -3
- package/src/testing/service-tests/agent-run-service-tests.ts +0 -98
- package/src/testing/service-tests/agent-storage-service-tests.ts +0 -379
- package/src/testing/service-tests/channel-store-tests.ts +0 -98
- package/src/testing/service-tests/credential-service-tests.ts +0 -143
- package/src/testing/service-tests/deployment-service-tests.ts +0 -33
- package/src/testing/service-tests/event-hub-store-tests.ts +0 -48
- package/src/testing/service-tests/secret-service-tests.ts +0 -105
- package/src/testing/service-tests/session-store-tests.ts +0 -62
- package/src/testing/service-tests/workflow-run-service-tests.ts +0 -59
- package/src/testing/service-tests/workflow-service-tests.ts +0 -308
- package/src/testing/service-tests.ts +0 -95
- package/src/time-utils.test.ts +0 -56
- package/src/time-utils.ts +0 -89
- package/src/types/core.types.ts +0 -446
- package/src/types/index.ts +0 -25
- package/src/types/state.types.ts +0 -226
- package/src/types/typed-credentials.test.ts +0 -72
- package/src/utils/hash.test.ts +0 -68
- package/src/utils/hash.ts +0 -26
- package/src/utils/hmac.ts +0 -21
- package/src/utils/node-host-resolver.ts +0 -20
- package/src/utils/safe-fetch.test.ts +0 -515
- package/src/utils/safe-fetch.ts +0 -347
- package/src/utils.test.ts +0 -359
- package/src/utils.ts +0 -165
- package/src/version.test.ts +0 -80
- package/src/version.ts +0 -25
- package/src/wirings/actor-flow/actor-flow.types.ts +0 -40
- package/src/wirings/actor-flow/index.ts +0 -10
- package/src/wirings/actor-flow/run-conversation.test.ts +0 -187
- package/src/wirings/actor-flow/run-conversation.ts +0 -280
- package/src/wirings/addon/addon-auth-tags.test.ts +0 -219
- package/src/wirings/addon/addon-runner.ts +0 -236
- package/src/wirings/addon/addon-scopes.test.ts +0 -225
- package/src/wirings/addon/addon-secrets.test.ts +0 -391
- package/src/wirings/addon/index.ts +0 -12
- package/src/wirings/addon/remote-addon-auth.ts +0 -65
- package/src/wirings/addon/wire-addon.test.ts +0 -102
- package/src/wirings/addon/wire-addon.ts +0 -202
- package/src/wirings/addon/wire-remote-addon.ts +0 -41
- package/src/wirings/agent/agent-agui.test.ts +0 -1213
- package/src/wirings/agent/agent-agui.ts +0 -405
- package/src/wirings/agent/agent-authorization.test.ts +0 -208
- package/src/wirings/agent/agent-finalize.test.ts +0 -187
- package/src/wirings/agent/agent-finalize.ts +0 -197
- package/src/wirings/agent/agent-helpers.test.ts +0 -215
- package/src/wirings/agent/agent-helpers.ts +0 -96
- package/src/wirings/agent/agent-interrupt.test.ts +0 -833
- package/src/wirings/agent/agent-interrupt.ts +0 -400
- package/src/wirings/agent/agent-memory.test.ts +0 -397
- package/src/wirings/agent/agent-memory.ts +0 -496
- package/src/wirings/agent/agent-middleware.types.test.ts +0 -41
- package/src/wirings/agent/agent-model-config.test.ts +0 -103
- package/src/wirings/agent/agent-model-config.ts +0 -59
- package/src/wirings/agent/agent-prepare.test.ts +0 -977
- package/src/wirings/agent/agent-prepare.ts +0 -1083
- package/src/wirings/agent/agent-registry.test.ts +0 -455
- package/src/wirings/agent/agent-registry.ts +0 -99
- package/src/wirings/agent/agent-resume-authorization.test.ts +0 -206
- package/src/wirings/agent/agent-rpc.ts +0 -116
- package/src/wirings/agent/agent-runner.test.ts +0 -1229
- package/src/wirings/agent/agent-runner.ts +0 -858
- package/src/wirings/agent/agent-stream-delegate.test.ts +0 -381
- package/src/wirings/agent/agent-stream-output-hooks.test.ts +0 -353
- package/src/wirings/agent/agent-stream.test.ts +0 -1800
- package/src/wirings/agent/agent-stream.ts +0 -1639
- package/src/wirings/agent/agent-thread-ownership.test.ts +0 -297
- package/src/wirings/agent/agent-turn.test.ts +0 -65
- package/src/wirings/agent/agent-turn.ts +0 -122
- package/src/wirings/agent/agent-utils.ts +0 -20
- package/src/wirings/agent/agent.types.ts +0 -676
- package/src/wirings/agent/index.ts +0 -58
- package/src/wirings/agent/voice-input.test.ts +0 -220
- package/src/wirings/agent/voice-input.ts +0 -180
- package/src/wirings/agent/voice-output.test.ts +0 -510
- package/src/wirings/agent/voice-output.ts +0 -311
- package/src/wirings/agent-scorer/agent-scorer-grade.test.ts +0 -106
- package/src/wirings/agent-scorer/agent-scorer-grade.ts +0 -55
- package/src/wirings/agent-scorer/agent-scorer-judge.test.ts +0 -285
- package/src/wirings/agent-scorer/agent-scorer-judge.ts +0 -180
- package/src/wirings/agent-scorer/agent-scorer-live.test.ts +0 -174
- package/src/wirings/agent-scorer/agent-scorer-live.ts +0 -56
- package/src/wirings/agent-scorer/agent-scorer-registry.ts +0 -66
- package/src/wirings/agent-scorer/agent-scorer-sampling.test.ts +0 -34
- package/src/wirings/agent-scorer/agent-scorer-sampling.ts +0 -36
- package/src/wirings/agent-scorer/agent-scorer-snapshots.test.ts +0 -49
- package/src/wirings/agent-scorer/agent-scorer-snapshots.ts +0 -46
- package/src/wirings/agent-scorer/agent-scorer-worker.test.ts +0 -122
- package/src/wirings/agent-scorer/agent-scorer-worker.ts +0 -71
- package/src/wirings/agent-scorer/agent-scorer.ts +0 -102
- package/src/wirings/agent-scorer/agent-scorer.types.ts +0 -128
- package/src/wirings/agent-scorer/index.ts +0 -23
- package/src/wirings/channel/channel-common.ts +0 -102
- package/src/wirings/channel/channel-handler-shapes.test.ts +0 -72
- package/src/wirings/channel/channel-handler.test.ts +0 -322
- package/src/wirings/channel/channel-handler.ts +0 -259
- package/src/wirings/channel/channel-host-rpc.test.ts +0 -150
- package/src/wirings/channel/channel-host-rpc.ts +0 -69
- package/src/wirings/channel/channel-middleware-runner.test.ts +0 -188
- package/src/wirings/channel/channel-middleware-runner.ts +0 -126
- package/src/wirings/channel/channel-rpc-registry.ts +0 -116
- package/src/wirings/channel/channel-rpc-responder.ts +0 -117
- package/src/wirings/channel/channel-rpc-service.ts +0 -132
- package/src/wirings/channel/channel-rpc-validators.ts +0 -65
- package/src/wirings/channel/channel-rpc.test.ts +0 -841
- package/src/wirings/channel/channel-rpc.ts +0 -5
- package/src/wirings/channel/channel-rpc.types.ts +0 -160
- package/src/wirings/channel/channel-runner.ts +0 -164
- package/src/wirings/channel/channel-store.ts +0 -35
- package/src/wirings/channel/channel.types.ts +0 -193
- package/src/wirings/channel/define-channel-routes.ts +0 -5
- package/src/wirings/channel/eventhub-service.ts +0 -16
- package/src/wirings/channel/eventhub-store.ts +0 -13
- package/src/wirings/channel/index.ts +0 -40
- package/src/wirings/channel/local/index.ts +0 -3
- package/src/wirings/channel/local/local-channel-handler.ts +0 -98
- package/src/wirings/channel/local/local-channel-runner.test.ts +0 -339
- package/src/wirings/channel/local/local-channel-runner.ts +0 -271
- package/src/wirings/channel/local/local-eventhub-service.test.ts +0 -77
- package/src/wirings/channel/local/local-eventhub-service.ts +0 -69
- package/src/wirings/channel/log-channels.ts +0 -16
- package/src/wirings/channel/pikku-abstract-channel-handler.test.ts +0 -135
- package/src/wirings/channel/pikku-abstract-channel-handler.ts +0 -60
- package/src/wirings/channel/serverless/index.ts +0 -6
- package/src/wirings/channel/serverless/serverless-channel-runner.ts +0 -328
- package/src/wirings/cli/channel/cli-approval.test.ts +0 -177
- package/src/wirings/cli/channel/cli-approval.ts +0 -135
- package/src/wirings/cli/channel/cli-channel-runner.ts +0 -118
- package/src/wirings/cli/channel/cli-raw-channel-runner.test.ts +0 -192
- package/src/wirings/cli/channel/cli-raw-channel-runner.ts +0 -148
- package/src/wirings/cli/channel/cli-raw-client-runner.test.ts +0 -480
- package/src/wirings/cli/channel/cli-raw-client-runner.ts +0 -188
- package/src/wirings/cli/channel/index.ts +0 -6
- package/src/wirings/cli/cli-runner.test.ts +0 -969
- package/src/wirings/cli/cli-runner.ts +0 -538
- package/src/wirings/cli/cli.types.ts +0 -388
- package/src/wirings/cli/command-parser.test.ts +0 -1120
- package/src/wirings/cli/command-parser.ts +0 -713
- package/src/wirings/cli/define-cli-commands.ts +0 -13
- package/src/wirings/cli/format-cli-error.test.ts +0 -91
- package/src/wirings/cli/format-cli-error.ts +0 -96
- package/src/wirings/cli/index.ts +0 -19
- package/src/wirings/credential/credential.types.ts +0 -37
- package/src/wirings/credential/define-credential.ts +0 -49
- package/src/wirings/credential/index.ts +0 -7
- package/src/wirings/credential/validate-credential-definitions.ts +0 -63
- package/src/wirings/gateway/gateway-authorization.test.ts +0 -575
- package/src/wirings/gateway/gateway-channel-meta.test.ts +0 -44
- package/src/wirings/gateway/gateway-runner.test.ts +0 -581
- package/src/wirings/gateway/gateway-runner.ts +0 -411
- package/src/wirings/gateway/gateway.types.ts +0 -137
- package/src/wirings/gateway/index.ts +0 -15
- package/src/wirings/http/http-routes.test.ts +0 -318
- package/src/wirings/http/http-routes.ts +0 -111
- package/src/wirings/http/http-runner-addon-ref.test.ts +0 -238
- package/src/wirings/http/http-runner.test.ts +0 -503
- package/src/wirings/http/http-runner.ts +0 -462
- package/src/wirings/http/http.types.ts +0 -307
- package/src/wirings/http/index.ts +0 -27
- package/src/wirings/http/log-http-routes.ts +0 -18
- package/src/wirings/http/pikku-fetch-http-request.test.ts +0 -318
- package/src/wirings/http/pikku-fetch-http-request.ts +0 -260
- package/src/wirings/http/pikku-fetch-http-response.test.ts +0 -123
- package/src/wirings/http/pikku-fetch-http-response.ts +0 -149
- package/src/wirings/http/routers/http-router.ts +0 -13
- package/src/wirings/http/routers/path-to-regex.test.ts +0 -306
- package/src/wirings/http/routers/path-to-regex.ts +0 -115
- package/src/wirings/http/web-request.test.ts +0 -382
- package/src/wirings/http/web-request.ts +0 -162
- package/src/wirings/mcp/index.ts +0 -26
- package/src/wirings/mcp/mcp-endpoint-registry.test.ts +0 -388
- package/src/wirings/mcp/mcp-endpoint-registry.ts +0 -159
- package/src/wirings/mcp/mcp-runner.test.ts +0 -588
- package/src/wirings/mcp/mcp-runner.ts +0 -330
- package/src/wirings/mcp/mcp.types.ts +0 -199
- package/src/wirings/node/index.ts +0 -2
- package/src/wirings/node/node.types.ts +0 -23
- package/src/wirings/oauth2/index.ts +0 -1
- package/src/wirings/oauth2/oauth2.types.ts +0 -12
- package/src/wirings/persona/define-personas.ts +0 -33
- package/src/wirings/persona/index.ts +0 -75
- package/src/wirings/persona/persona-app-scopes.test.ts +0 -47
- package/src/wirings/persona/persona-app-scopes.ts +0 -74
- package/src/wirings/persona/persona-email.ts +0 -87
- package/src/wirings/persona/persona-environments.test.ts +0 -194
- package/src/wirings/persona/persona-environments.ts +0 -138
- package/src/wirings/persona/persona-mailbox.ts +0 -156
- package/src/wirings/persona/persona.test.ts +0 -230
- package/src/wirings/persona/persona.types.ts +0 -156
- package/src/wirings/persona/validate-personas.ts +0 -137
- package/src/wirings/queue/index.ts +0 -29
- package/src/wirings/queue/queue-identity.test.ts +0 -454
- package/src/wirings/queue/queue-identity.ts +0 -176
- package/src/wirings/queue/queue-runner.test.ts +0 -705
- package/src/wirings/queue/queue-runner.ts +0 -181
- package/src/wirings/queue/queue.types.ts +0 -161
- package/src/wirings/queue/register-queue-helper.ts +0 -46
- package/src/wirings/queue/signed-queue-service.ts +0 -60
- package/src/wirings/queue/validate-worker-config.test.ts +0 -108
- package/src/wirings/queue/validate-worker-config.ts +0 -90
- package/src/wirings/role/define-system-role.ts +0 -33
- package/src/wirings/role/index.ts +0 -13
- package/src/wirings/role/role.test.ts +0 -104
- package/src/wirings/role/role.types.ts +0 -47
- package/src/wirings/role/validate-role-definitions.ts +0 -93
- package/src/wirings/rpc/index.ts +0 -8
- package/src/wirings/rpc/rpc-runner.test.ts +0 -1130
- package/src/wirings/rpc/rpc-runner.ts +0 -569
- package/src/wirings/rpc/rpc-types.ts +0 -87
- package/src/wirings/scheduler/index.ts +0 -11
- package/src/wirings/scheduler/log-schedulers.ts +0 -16
- package/src/wirings/scheduler/scheduler-runner.test.ts +0 -835
- package/src/wirings/scheduler/scheduler-runner.ts +0 -138
- package/src/wirings/scheduler/scheduler.types.ts +0 -42
- package/src/wirings/scope/define-scope.ts +0 -33
- package/src/wirings/scope/index.ts +0 -15
- package/src/wirings/scope/scope.test.ts +0 -159
- package/src/wirings/scope/scope.types.ts +0 -42
- package/src/wirings/scope/validate-scope-definitions.ts +0 -107
- package/src/wirings/secret/index.ts +0 -9
- package/src/wirings/secret/secret.types.ts +0 -70
- package/src/wirings/secret/validate-secret-definitions.test.ts +0 -232
- package/src/wirings/secret/validate-secret-definitions.ts +0 -88
- package/src/wirings/trigger/index.ts +0 -9
- package/src/wirings/trigger/pikku-trigger-service.ts +0 -107
- package/src/wirings/trigger/trigger-runner.test.ts +0 -78
- package/src/wirings/trigger/trigger-runner.ts +0 -113
- package/src/wirings/trigger/trigger.types.ts +0 -100
- package/src/wirings/variable/index.ts +0 -8
- package/src/wirings/variable/validate-variable-definitions.test.ts +0 -115
- package/src/wirings/variable/validate-variable-definitions.ts +0 -71
- package/src/wirings/variable/variable.types.ts +0 -40
- package/src/wirings/virtual-user/index.ts +0 -107
- package/src/wirings/virtual-user/prepare-virtual-user-run.test.ts +0 -115
- package/src/wirings/virtual-user/prepare-virtual-user-run.ts +0 -95
- package/src/wirings/virtual-user/run-virtual-user.test.ts +0 -774
- package/src/wirings/virtual-user/run-virtual-user.ts +0 -684
- package/src/wirings/virtual-user/virtual-user-agents.test.ts +0 -72
- package/src/wirings/virtual-user/virtual-user-agents.ts +0 -62
- package/src/wirings/virtual-user/virtual-user-catalogue.test.ts +0 -215
- package/src/wirings/virtual-user/virtual-user-catalogue.ts +0 -184
- package/src/wirings/virtual-user/virtual-user-derive.test.ts +0 -426
- package/src/wirings/virtual-user/virtual-user-derive.ts +0 -161
- package/src/wirings/virtual-user/virtual-user-dispositions.test.ts +0 -68
- package/src/wirings/virtual-user/virtual-user-dispositions.ts +0 -210
- package/src/wirings/virtual-user/virtual-user-intents.test.ts +0 -218
- package/src/wirings/virtual-user/virtual-user-intents.ts +0 -185
- package/src/wirings/virtual-user/virtual-user-rng.test.ts +0 -72
- package/src/wirings/virtual-user/virtual-user-rng.ts +0 -50
- package/src/wirings/virtual-user/virtual-user-run-store.ts +0 -131
- package/src/wirings/virtual-user/virtual-user-scaffold.test.ts +0 -854
- package/src/wirings/virtual-user/virtual-user-scaffold.ts +0 -664
- package/src/wirings/virtual-user/virtual-user-schedule-store.ts +0 -93
- package/src/wirings/virtual-user/virtual-user-schedule.test.ts +0 -280
- package/src/wirings/virtual-user/virtual-user-schedule.ts +0 -156
- package/src/wirings/virtual-user/virtual-user-target.ts +0 -47
- package/src/wirings/virtual-user/virtual-user.types.ts +0 -215
- package/src/wirings/workflow/dsl/workflow-dsl.types.ts +0 -709
- package/src/wirings/workflow/dsl/workflow-runner.ts +0 -25
- package/src/wirings/workflow/feature.test.ts +0 -131
- package/src/wirings/workflow/feature.ts +0 -59
- package/src/wirings/workflow/graph/graph-foreach-queued.test.ts +0 -569
- package/src/wirings/workflow/graph/graph-foreach.test.ts +0 -626
- package/src/wirings/workflow/graph/graph-node.ts +0 -115
- package/src/wirings/workflow/graph/graph-runner.test.ts +0 -1049
- package/src/wirings/workflow/graph/graph-runner.ts +0 -1376
- package/src/wirings/workflow/graph/graph-validation.test.ts +0 -27
- package/src/wirings/workflow/graph/graph-validation.ts +0 -41
- package/src/wirings/workflow/graph/template.test.ts +0 -49
- package/src/wirings/workflow/graph/template.ts +0 -42
- package/src/wirings/workflow/graph/wire-workflow-graph.ts +0 -39
- package/src/wirings/workflow/graph/workflow-graph.types.ts +0 -75
- package/src/wirings/workflow/index.ts +0 -107
- package/src/wirings/workflow/pikku-scenario-service.ts +0 -1013
- package/src/wirings/workflow/pikku-workflow-service.test.ts +0 -963
- package/src/wirings/workflow/pikku-workflow-service.ts +0 -1993
- package/src/wirings/workflow/run-timeline.test.ts +0 -199
- package/src/wirings/workflow/run-timeline.ts +0 -185
- package/src/wirings/workflow/scenario-cookie-jar.test.ts +0 -107
- package/src/wirings/workflow/scenario-cookie-jar.ts +0 -57
- package/src/wirings/workflow/scenario-expectations.test.ts +0 -238
- package/src/wirings/workflow/scenario-hooks.test.ts +0 -259
- package/src/wirings/workflow/scenario-poll.test.ts +0 -64
- package/src/wirings/workflow/scenario-poll.ts +0 -27
- package/src/wirings/workflow/scenario-prose.test.ts +0 -275
- package/src/wirings/workflow/scenario-prose.ts +0 -86
- package/src/wirings/workflow/scenario-run.types.ts +0 -193
- package/src/wirings/workflow/scenario-service.test.ts +0 -147
- package/src/wirings/workflow/scenario-step-guards.ts +0 -23
- package/src/wirings/workflow/scenario-step.test.ts +0 -800
- package/src/wirings/workflow/scenario-step.types.ts +0 -262
- package/src/wirings/workflow/scenario-surface.test.ts +0 -146
- package/src/wirings/workflow/scenario-surface.ts +0 -71
- package/src/wirings/workflow/scenario.types.ts +0 -63
- package/src/wirings/workflow/workflow-approval-audit.ts +0 -47
- package/src/wirings/workflow/workflow-approval-policy.test.ts +0 -594
- package/src/wirings/workflow/workflow-approval-policy.ts +0 -68
- package/src/wirings/workflow/workflow-approval.ts +0 -290
- package/src/wirings/workflow/workflow-child-run-session.test.ts +0 -168
- package/src/wirings/workflow/workflow-constants.ts +0 -66
- package/src/wirings/workflow/workflow-dispatch-durability.test.ts +0 -116
- package/src/wirings/workflow/workflow-dispatch-payload.test.ts +0 -55
- package/src/wirings/workflow/workflow-dispatch-relay.test.ts +0 -128
- package/src/wirings/workflow/workflow-errors.ts +0 -132
- package/src/wirings/workflow/workflow-inline-authority.test.ts +0 -175
- package/src/wirings/workflow/workflow-invocation-id.test.ts +0 -51
- package/src/wirings/workflow/workflow-invocation-id.ts +0 -28
- package/src/wirings/workflow/workflow-meta-resolver.ts +0 -45
- package/src/wirings/workflow/workflow-mirror.test.ts +0 -171
- package/src/wirings/workflow/workflow-missing-meta.test.ts +0 -92
- package/src/wirings/workflow/workflow-on-error.test.ts +0 -145
- package/src/wirings/workflow/workflow-queue-routing.ts +0 -129
- package/src/wirings/workflow/workflow-queue-wiring.ts +0 -149
- package/src/wirings/workflow/workflow-queue-workers.test.ts +0 -131
- package/src/wirings/workflow/workflow-queue-workers.ts +0 -66
- package/src/wirings/workflow/workflow-recovery.ts +0 -192
- package/src/wirings/workflow/workflow-replay-snapshot.test.ts +0 -140
- package/src/wirings/workflow/workflow-retry-policy.test.ts +0 -113
- package/src/wirings/workflow/workflow-run-authority.test.ts +0 -212
- package/src/wirings/workflow/workflow-run-context.test.ts +0 -172
- package/src/wirings/workflow/workflow-run-engine.types.ts +0 -92
- package/src/wirings/workflow/workflow-run-ownership.ts +0 -37
- package/src/wirings/workflow/workflow-run-polling.test.ts +0 -127
- package/src/wirings/workflow/workflow-stalled-recovery.test.ts +0 -152
- package/src/wirings/workflow/workflow-status-stream.test.ts +0 -354
- package/src/wirings/workflow/workflow-status-stream.ts +0 -144
- package/src/wirings/workflow/workflow-step-claim.ts +0 -46
- package/src/wirings/workflow/workflow-step-ordinal.test.ts +0 -94
- package/src/wirings/workflow/workflow-step-session.test.ts +0 -87
- package/src/wirings/workflow/workflow-suspend.ts +0 -61
- package/src/wirings/workflow/workflow-terminal-run-guard.test.ts +0 -105
- package/src/wirings/workflow/workflow.types.ts +0 -268
- package/src/wirings-stay-decoupled.test.ts +0 -130
- package/tsconfig.json +0 -14
- package/tsconfig.tsbuildinfo +0 -1
- package/tsconfig.type-tests.json +0 -15
|
@@ -1,388 +0,0 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
CoreSingletonServices,
|
|
3
|
-
CoreUserSession,
|
|
4
|
-
CoreServices,
|
|
5
|
-
} from '../../types/core.types.js'
|
|
6
|
-
import type {
|
|
7
|
-
CorePikkuMiddleware,
|
|
8
|
-
MiddlewareMetadata,
|
|
9
|
-
} from '../../middleware/middleware.types.js'
|
|
10
|
-
import type {
|
|
11
|
-
CorePikkuFunctionConfig,
|
|
12
|
-
CorePikkuPermission,
|
|
13
|
-
CorePikkuFunction,
|
|
14
|
-
CorePikkuFunctionSessionless,
|
|
15
|
-
} from '../../function/functions.types.js'
|
|
16
|
-
import type { ChannelRemote, PikkuChannel } from '../channel/channel.types.js'
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* The shape an option's value is parsed into. `'string[]'` splits a single
|
|
20
|
-
* value on commas; `'boolean'` is a flag that consumes the next token only
|
|
21
|
-
* when it is an explicit literal (`true`/`false`/`1`/`0`/`yes`/`no`); every
|
|
22
|
-
* other type consumes one token verbatim, so a value may start with `-`. Left
|
|
23
|
-
* unset — which is the usual case — it is read from the command function's
|
|
24
|
-
* input schema, then from `default`, and otherwise falls back to `'string'`.
|
|
25
|
-
* Declare it only where neither can say: an option belonging to no function
|
|
26
|
-
* input, such as one the config factory reads straight off the CLI data.
|
|
27
|
-
*/
|
|
28
|
-
export type CLIOptionType = 'string' | 'number' | 'boolean' | 'string[]'
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* CLI option definition
|
|
32
|
-
*/
|
|
33
|
-
export interface CLIOption<T = any> {
|
|
34
|
-
description: string
|
|
35
|
-
short?: string
|
|
36
|
-
type?: CLIOptionType
|
|
37
|
-
default?: T
|
|
38
|
-
choices?: T[]
|
|
39
|
-
required?: boolean
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* CLI options collection
|
|
44
|
-
*/
|
|
45
|
-
export type CLIOptions<T> = {
|
|
46
|
-
[K in keyof T]: CLIOption<T[K]>
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Positional argument definition
|
|
51
|
-
*/
|
|
52
|
-
export interface CLIPositional {
|
|
53
|
-
name: string
|
|
54
|
-
required: boolean
|
|
55
|
-
variadic?: boolean
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* CLI wire context
|
|
60
|
-
*/
|
|
61
|
-
export type PikkuCLI<Remote extends (...args: any[]) => any = ChannelRemote> = {
|
|
62
|
-
program: string
|
|
63
|
-
command: string[]
|
|
64
|
-
data: Record<string, any> // All positionals and options merged
|
|
65
|
-
channel: PikkuChannel<unknown, unknown, Remote>
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Runtime CLI program state
|
|
70
|
-
*/
|
|
71
|
-
export interface CLIProgramState {
|
|
72
|
-
defaultRenderer?: CorePikkuCLIRender<any>
|
|
73
|
-
middleware: CorePikkuMiddleware[]
|
|
74
|
-
renderers: Record<string, CorePikkuCLIRender<any>>
|
|
75
|
-
commandOptions?: Record<string, Record<string, CLIOption>>
|
|
76
|
-
commandMiddleware?: Record<string, CorePikkuMiddleware[]>
|
|
77
|
-
tags?: string[]
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* CLI command metadata for runtime
|
|
82
|
-
*/
|
|
83
|
-
export interface CLICommandMeta {
|
|
84
|
-
parameters?: string
|
|
85
|
-
pikkuFuncId: string
|
|
86
|
-
packageName?: string
|
|
87
|
-
positionals: CLIPositional[]
|
|
88
|
-
options: Record<string, CLIOption>
|
|
89
|
-
renderName?: string
|
|
90
|
-
summary?: string
|
|
91
|
-
description?: string
|
|
92
|
-
errors?: string[]
|
|
93
|
-
tags?: string[]
|
|
94
|
-
subcommands?: Record<string, CLICommandMeta>
|
|
95
|
-
middleware?: MiddlewareMetadata[] // Pre-resolved middleware chain (tag + explicit)
|
|
96
|
-
isDefault?: boolean
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* CLI metadata collection (per program)
|
|
101
|
-
*/
|
|
102
|
-
export type CLIProgramMeta = {
|
|
103
|
-
program: string
|
|
104
|
-
commands: Record<string, CLICommandMeta>
|
|
105
|
-
options: Record<string, CLIOption>
|
|
106
|
-
defaultRenderName?: string
|
|
107
|
-
/**
|
|
108
|
-
* Whether the channel serving this program over a websocket requires a
|
|
109
|
-
* session. Only meaningful for the generated channel backend — a locally
|
|
110
|
-
* executed CLI has no connection to authenticate.
|
|
111
|
-
*/
|
|
112
|
-
auth?: boolean
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* Renderer metadata for CLI commands
|
|
117
|
-
*/
|
|
118
|
-
export interface RendererMeta {
|
|
119
|
-
name: string
|
|
120
|
-
exportedName?: string
|
|
121
|
-
services: {
|
|
122
|
-
optimized: boolean
|
|
123
|
-
services: string[]
|
|
124
|
-
}
|
|
125
|
-
filePath: string
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
export type RenderersMeta = Record<string, RendererMeta>
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* All CLI programs metadata
|
|
132
|
-
*/
|
|
133
|
-
export interface CLIMeta {
|
|
134
|
-
programs: Record<string, CLIProgramMeta>
|
|
135
|
-
renderers: RenderersMeta
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* CLI-specific renderer that outputs to console
|
|
140
|
-
*/
|
|
141
|
-
export type CorePikkuCLIRender<
|
|
142
|
-
Data,
|
|
143
|
-
Services extends CoreSingletonServices = CoreServices,
|
|
144
|
-
Session extends CoreUserSession = CoreUserSession,
|
|
145
|
-
> = CorePikkuRender<Data, void, Services, Session>
|
|
146
|
-
|
|
147
|
-
/**
|
|
148
|
-
* Extract input parameters from a Pikku function config type
|
|
149
|
-
*/
|
|
150
|
-
export type ExtractFunctionInput<Func> =
|
|
151
|
-
Func extends CorePikkuFunctionConfig<infer FuncType, any, any>
|
|
152
|
-
? FuncType extends
|
|
153
|
-
| CorePikkuFunction<infer Input, any, any, any, any>
|
|
154
|
-
| CorePikkuFunctionSessionless<infer Input, any, any, any, any>
|
|
155
|
-
? Input
|
|
156
|
-
: never
|
|
157
|
-
: never
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* Strip < > [ ] characters from a string
|
|
161
|
-
*/
|
|
162
|
-
type StripBrackets<S extends string> = S extends `<${infer Inner}>`
|
|
163
|
-
? Inner
|
|
164
|
-
: S extends `[${infer Inner}]`
|
|
165
|
-
? Inner
|
|
166
|
-
: S
|
|
167
|
-
|
|
168
|
-
/**
|
|
169
|
-
* Split string by spaces
|
|
170
|
-
*/
|
|
171
|
-
type SplitBySpace<S extends string> = S extends `${infer First} ${infer Rest}`
|
|
172
|
-
? [First, ...SplitBySpace<Rest>]
|
|
173
|
-
: S extends ''
|
|
174
|
-
? []
|
|
175
|
-
: [S]
|
|
176
|
-
|
|
177
|
-
/**
|
|
178
|
-
* Strip the `...` a variadic positional carries, so `[files...]` validates
|
|
179
|
-
* against the `files` key the runtime parser fills.
|
|
180
|
-
*/
|
|
181
|
-
type StripVariadic<S extends string> = S extends `${infer Name}...` ? Name : S
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Recursively build a tuple by stripping brackets from each element
|
|
185
|
-
*/
|
|
186
|
-
type BuildParamsTuple<Parts extends readonly string[]> =
|
|
187
|
-
Parts extends readonly [
|
|
188
|
-
infer First extends string,
|
|
189
|
-
...infer Rest extends string[],
|
|
190
|
-
]
|
|
191
|
-
? [StripVariadic<StripBrackets<First>>, ...BuildParamsTuple<Rest>]
|
|
192
|
-
: []
|
|
193
|
-
|
|
194
|
-
/**
|
|
195
|
-
* Extract parameter names from CLI parameter string into a tuple
|
|
196
|
-
* Example: "<env> [region]" => ["env", "region"]
|
|
197
|
-
*/
|
|
198
|
-
type ExtractParameterNames<S extends string> = BuildParamsTuple<SplitBySpace<S>>
|
|
199
|
-
|
|
200
|
-
/**
|
|
201
|
-
* Check if all elements of a tuple are valid keys of Input
|
|
202
|
-
*/
|
|
203
|
-
type AllParamsValid<
|
|
204
|
-
Params extends readonly any[],
|
|
205
|
-
Input,
|
|
206
|
-
> = Params extends readonly [infer First, ...infer Rest]
|
|
207
|
-
? First extends keyof Input
|
|
208
|
-
? AllParamsValid<Rest, Input>
|
|
209
|
-
: false
|
|
210
|
-
: true
|
|
211
|
-
|
|
212
|
-
/**
|
|
213
|
-
* Validate that all parameter names are valid keys of the function input
|
|
214
|
-
*/
|
|
215
|
-
export type ValidateParameters<Params extends string, Input> =
|
|
216
|
-
AllParamsValid<ExtractParameterNames<Params>, Input> extends true
|
|
217
|
-
? Params
|
|
218
|
-
: never
|
|
219
|
-
|
|
220
|
-
/**
|
|
221
|
-
* CLI command configuration that infers options from function input type.
|
|
222
|
-
* This is a helper type for creating type-safe CLI commands.
|
|
223
|
-
*/
|
|
224
|
-
export type CoreCLICommandConfig<
|
|
225
|
-
FuncConfig,
|
|
226
|
-
PikkuMiddleware extends CorePikkuMiddleware<any, any> = CorePikkuMiddleware<
|
|
227
|
-
any,
|
|
228
|
-
any
|
|
229
|
-
>,
|
|
230
|
-
PikkuCLIRender extends CorePikkuCLIRender<any, any, any> = CorePikkuCLIRender<
|
|
231
|
-
any,
|
|
232
|
-
any
|
|
233
|
-
>,
|
|
234
|
-
Params extends string = string,
|
|
235
|
-
> = {
|
|
236
|
-
/**
|
|
237
|
-
* Positional arguments, written the way `--help` prints them: `<env>` is
|
|
238
|
-
* required, `[region]` optional. Each name must be a key of the function's
|
|
239
|
-
* input schema, so a typo is a compile error rather than an argument that
|
|
240
|
-
* silently never arrives.
|
|
241
|
-
*/
|
|
242
|
-
parameters?: ValidateParameters<Params, ExtractFunctionInput<FuncConfig>>
|
|
243
|
-
/** The function to run. Omit it on a command that exists only to hold `subcommands`. */
|
|
244
|
-
func?: FuncConfig
|
|
245
|
-
/** The heading shown above this command's own help. */
|
|
246
|
-
title?: string
|
|
247
|
-
/** The one-line summary listed beside the command name. */
|
|
248
|
-
description?: string
|
|
249
|
-
/**
|
|
250
|
-
* Prints the result. The function returns data and this is the only thing
|
|
251
|
-
* that writes to stdout, which is what lets one command serve both a human
|
|
252
|
-
* reading it and a script parsing it.
|
|
253
|
-
*/
|
|
254
|
-
render?: PikkuCLIRender
|
|
255
|
-
/**
|
|
256
|
-
* Flags, keyed by the input field each one fills. A field with no entry is
|
|
257
|
-
* still accepted as `--field`; an entry is how it gets a short form, a
|
|
258
|
-
* default, or help text.
|
|
259
|
-
*/
|
|
260
|
-
options?: {
|
|
261
|
-
[K in keyof ExtractFunctionInput<FuncConfig>]?: {
|
|
262
|
-
/** What this flag is for, as `--help` prints it. */
|
|
263
|
-
description?: string
|
|
264
|
-
/** A single-letter alias, so `--verbose` can also be `-v`. */
|
|
265
|
-
short?: string
|
|
266
|
-
/** How the argument is parsed. Inferred from the input schema when omitted. */
|
|
267
|
-
type?: CLIOptionType
|
|
268
|
-
/** Used when the flag is absent, and shown in `--help` so nobody has to guess it. */
|
|
269
|
-
default?: ExtractFunctionInput<FuncConfig>[K]
|
|
270
|
-
/**
|
|
271
|
-
* The values this option accepts. Rejected by the parser and listed in
|
|
272
|
-
* `--help`, so a flag with a fixed vocabulary says so once rather than
|
|
273
|
-
* repeating itself in its description.
|
|
274
|
-
*/
|
|
275
|
-
choices?: ReadonlyArray<ExtractFunctionInput<FuncConfig>[K]>
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
/** Wraps every run of this command. */
|
|
279
|
-
middleware?: PikkuMiddleware[]
|
|
280
|
-
/** Nested commands, keyed by the word that selects them: `deploy plan` is `deploy` with a `plan` subcommand. */
|
|
281
|
-
subcommands?: Record<
|
|
282
|
-
string,
|
|
283
|
-
CoreCLICommandConfig<any, PikkuMiddleware, PikkuCLIRender, any>
|
|
284
|
-
>
|
|
285
|
-
/** Whether running this requires a logged-in session. Defaults to true — a command is closed unless it says otherwise. */
|
|
286
|
-
auth?: boolean
|
|
287
|
-
/** Permission checks run before the function, for a command that not every logged-in user may run. */
|
|
288
|
-
permissions?: any[]
|
|
289
|
-
/** Runs when the parent is invoked with no subcommand named. */
|
|
290
|
-
isDefault?: boolean
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
/**
|
|
294
|
-
* CLI command definition
|
|
295
|
-
*/
|
|
296
|
-
export interface CoreCLICommand<
|
|
297
|
-
In,
|
|
298
|
-
Out,
|
|
299
|
-
PikkuFunctionConfig extends CorePikkuFunctionConfig<
|
|
300
|
-
| CorePikkuFunction<In, Out, any, any, any>
|
|
301
|
-
| CorePikkuFunctionSessionless<In, Out, any, any, any>
|
|
302
|
-
>,
|
|
303
|
-
PikkuPermission extends CorePikkuPermission<any, any, any>,
|
|
304
|
-
PikkuMiddleware extends CorePikkuMiddleware,
|
|
305
|
-
Options = any,
|
|
306
|
-
Subcommands extends Record<string, CoreCLICommandConfig<any, any, any>> =
|
|
307
|
-
Record<string, CoreCLICommandConfig<any, any, any>>,
|
|
308
|
-
> {
|
|
309
|
-
parameters?: string
|
|
310
|
-
func: PikkuFunctionConfig
|
|
311
|
-
render?: CorePikkuCLIRender<Out>
|
|
312
|
-
description?: string
|
|
313
|
-
options?: CLIOptions<Options>
|
|
314
|
-
middleware?: PikkuMiddleware[]
|
|
315
|
-
permissions?: Record<string, PikkuPermission | PikkuPermission[]>
|
|
316
|
-
auth?: boolean
|
|
317
|
-
summary?: string
|
|
318
|
-
errors?: string[]
|
|
319
|
-
tags?: string[]
|
|
320
|
-
subcommands?: Subcommands
|
|
321
|
-
isDefault?: boolean
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
/**
|
|
325
|
-
* Shorthand command definition (just a function)
|
|
326
|
-
*/
|
|
327
|
-
export type CLICommandShorthand<
|
|
328
|
-
In,
|
|
329
|
-
Out,
|
|
330
|
-
PikkuFunctionConfig extends CorePikkuFunctionConfig<
|
|
331
|
-
| CorePikkuFunction<In, Out, any, any, any>
|
|
332
|
-
| CorePikkuFunctionSessionless<In, Out, any, any, any>
|
|
333
|
-
>,
|
|
334
|
-
> = PikkuFunctionConfig
|
|
335
|
-
|
|
336
|
-
/**
|
|
337
|
-
* CLI wiring configuration
|
|
338
|
-
*/
|
|
339
|
-
export interface CoreCLI<
|
|
340
|
-
Commands extends Record<string, CoreCLICommandConfig<any, any, any>>,
|
|
341
|
-
Options,
|
|
342
|
-
PikkuMiddleware,
|
|
343
|
-
PikkuCLIRender,
|
|
344
|
-
> {
|
|
345
|
-
/** The command name a user types. It is also what `--help` prints as the program. */
|
|
346
|
-
program: string
|
|
347
|
-
/** What the program is for, shown at the top of `--help`. */
|
|
348
|
-
description?: string
|
|
349
|
-
/** Top-level commands, keyed by the word that selects them. */
|
|
350
|
-
commands: Commands
|
|
351
|
-
/** Flags accepted before any command, for things that apply to the whole program. */
|
|
352
|
-
options?: CLIOptions<Options>
|
|
353
|
-
/** Wraps every command. */
|
|
354
|
-
middleware?: PikkuMiddleware[]
|
|
355
|
-
/** The fallback printer for commands that declare none of their own. */
|
|
356
|
-
render?: PikkuCLIRender
|
|
357
|
-
/** A one-line description for listings, where the full `description` is too long. */
|
|
358
|
-
summary?: string
|
|
359
|
-
/** Names of error classes any command may throw, so each one's registered exit behaviour is used. */
|
|
360
|
-
errors?: string[]
|
|
361
|
-
/** Filters this program in and out of a build — see the `tags` option on `pikku all`. It has no effect at runtime. */
|
|
362
|
-
tags?: string[]
|
|
363
|
-
/**
|
|
364
|
-
* Requires a session on the websocket serving this program remotely. Has no
|
|
365
|
-
* effect on local execution, where there is no connection to authenticate.
|
|
366
|
-
*/
|
|
367
|
-
auth?: boolean
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
/**
|
|
371
|
-
* Generic renderer type that can transform data into any output format.
|
|
372
|
-
* Can be used across different wirings for flexible output handling.
|
|
373
|
-
*
|
|
374
|
-
* @template Data - The input data type to be rendered
|
|
375
|
-
* @template Output - The output type after rendering
|
|
376
|
-
* @template Services - The services available to the renderer
|
|
377
|
-
* @template Session - The user session type
|
|
378
|
-
*/
|
|
379
|
-
export type CorePikkuRender<
|
|
380
|
-
Data,
|
|
381
|
-
Output,
|
|
382
|
-
Services extends CoreSingletonServices = CoreServices,
|
|
383
|
-
Session extends CoreUserSession = CoreUserSession,
|
|
384
|
-
> = (
|
|
385
|
-
services: Services,
|
|
386
|
-
data: Data,
|
|
387
|
-
session?: Session
|
|
388
|
-
) => Output | Promise<Output>
|