@raidiant/notifai 11.7.1 → 12.0.0-beta.11
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 +53 -0
- package/NOTICE +16 -0
- package/THIRD_PARTY_NOTICES +725 -0
- package/bin/notifai.mjs +11420 -0
- package/data/install.ps1 +318 -0
- package/data/release.json +1 -0
- package/inventory.json +1 -0
- package/npm-adapter-files.json +52 -0
- package/package.json +14 -44
- package/README.md +0 -168
- package/dist/agent-update-notice.d.ts +0 -7
- package/dist/agent-update-notice.js +0 -77
- package/dist/agent-update-notice.js.map +0 -1
- package/dist/atomic-file.d.ts +0 -30
- package/dist/atomic-file.js +0 -148
- package/dist/atomic-file.js.map +0 -1
- package/dist/attendant-update.d.ts +0 -15
- package/dist/attendant-update.js +0 -96
- package/dist/attendant-update.js.map +0 -1
- package/dist/claude-wake.d.ts +0 -108
- package/dist/claude-wake.js +0 -369
- package/dist/claude-wake.js.map +0 -1
- package/dist/cli-bin.d.ts +0 -26
- package/dist/cli-bin.js +0 -220
- package/dist/cli-bin.js.map +0 -1
- package/dist/cli-contract.d.ts +0 -16
- package/dist/cli-contract.js +0 -27
- package/dist/cli-contract.js.map +0 -1
- package/dist/cli-release.d.ts +0 -36
- package/dist/cli-release.js +0 -85
- package/dist/cli-release.js.map +0 -1
- package/dist/client.d.ts +0 -109
- package/dist/client.js +0 -217
- package/dist/client.js.map +0 -1
- package/dist/codex-answer-control.d.ts +0 -14
- package/dist/codex-answer-control.js +0 -41
- package/dist/codex-answer-control.js.map +0 -1
- package/dist/codex-answer-presentation.d.ts +0 -18
- package/dist/codex-answer-presentation.js +0 -113
- package/dist/codex-answer-presentation.js.map +0 -1
- package/dist/codex-input-lifecycle.d.ts +0 -10
- package/dist/codex-input-lifecycle.js +0 -63
- package/dist/codex-input-lifecycle.js.map +0 -1
- package/dist/codex-native-control.d.ts +0 -13
- package/dist/codex-native-control.js +0 -120
- package/dist/codex-native-control.js.map +0 -1
- package/dist/codex-native-turn.d.ts +0 -37
- package/dist/codex-native-turn.js +0 -155
- package/dist/codex-native-turn.js.map +0 -1
- package/dist/codex-question-bindings.d.ts +0 -76
- package/dist/codex-question-bindings.js +0 -151
- package/dist/codex-question-bindings.js.map +0 -1
- package/dist/codex-queue-control.d.ts +0 -21
- package/dist/codex-queue-control.js +0 -59
- package/dist/codex-queue-control.js.map +0 -1
- package/dist/codex-tool-messages.d.ts +0 -7
- package/dist/codex-tool-messages.js +0 -126
- package/dist/codex-tool-messages.js.map +0 -1
- package/dist/codex-wake.d.ts +0 -58
- package/dist/codex-wake.js +0 -135
- package/dist/codex-wake.js.map +0 -1
- package/dist/command-session.d.ts +0 -14
- package/dist/command-session.js +0 -31
- package/dist/command-session.js.map +0 -1
- package/dist/commands-acknowledge.d.ts +0 -13
- package/dist/commands-acknowledge.js +0 -116
- package/dist/commands-acknowledge.js.map +0 -1
- package/dist/commands-agent-sessions.d.ts +0 -6
- package/dist/commands-agent-sessions.js +0 -51
- package/dist/commands-agent-sessions.js.map +0 -1
- package/dist/commands-ask.d.ts +0 -62
- package/dist/commands-ask.js +0 -503
- package/dist/commands-ask.js.map +0 -1
- package/dist/commands-auth.d.ts +0 -76
- package/dist/commands-auth.js +0 -421
- package/dist/commands-auth.js.map +0 -1
- package/dist/commands-close.d.ts +0 -6
- package/dist/commands-close.js +0 -273
- package/dist/commands-close.js.map +0 -1
- package/dist/commands-config.d.ts +0 -31
- package/dist/commands-config.js +0 -272
- package/dist/commands-config.js.map +0 -1
- package/dist/commands-core.d.ts +0 -145
- package/dist/commands-core.js +0 -190
- package/dist/commands-core.js.map +0 -1
- package/dist/commands-devices.d.ts +0 -41
- package/dist/commands-devices.js +0 -144
- package/dist/commands-devices.js.map +0 -1
- package/dist/commands-doctor.d.ts +0 -25
- package/dist/commands-doctor.js +0 -1553
- package/dist/commands-doctor.js.map +0 -1
- package/dist/commands-guidance.d.ts +0 -27
- package/dist/commands-guidance.js +0 -150
- package/dist/commands-guidance.js.map +0 -1
- package/dist/commands-harness-context.d.ts +0 -57
- package/dist/commands-harness-context.js +0 -102
- package/dist/commands-harness-context.js.map +0 -1
- package/dist/commands-hook-attend.d.ts +0 -70
- package/dist/commands-hook-attend.js +0 -655
- package/dist/commands-hook-attend.js.map +0 -1
- package/dist/commands-hook-diagnostics.d.ts +0 -37
- package/dist/commands-hook-diagnostics.js +0 -136
- package/dist/commands-hook-diagnostics.js.map +0 -1
- package/dist/commands-hook-install.d.ts +0 -26
- package/dist/commands-hook-install.js +0 -784
- package/dist/commands-hook-install.js.map +0 -1
- package/dist/commands-hook-run.d.ts +0 -29
- package/dist/commands-hook-run.js +0 -933
- package/dist/commands-hook-run.js.map +0 -1
- package/dist/commands-hook-shape.d.ts +0 -19
- package/dist/commands-hook-shape.js +0 -48
- package/dist/commands-hook-shape.js.map +0 -1
- package/dist/commands-init.d.ts +0 -42
- package/dist/commands-init.js +0 -901
- package/dist/commands-init.js.map +0 -1
- package/dist/commands-io.d.ts +0 -2
- package/dist/commands-io.js +0 -117
- package/dist/commands-io.js.map +0 -1
- package/dist/commands-logs.d.ts +0 -30
- package/dist/commands-logs.js +0 -201
- package/dist/commands-logs.js.map +0 -1
- package/dist/commands-native-acknowledge.d.ts +0 -8
- package/dist/commands-native-acknowledge.js +0 -114
- package/dist/commands-native-acknowledge.js.map +0 -1
- package/dist/commands-project.d.ts +0 -4
- package/dist/commands-project.js +0 -41
- package/dist/commands-project.js.map +0 -1
- package/dist/commands-receive.d.ts +0 -3
- package/dist/commands-receive.js +0 -59
- package/dist/commands-receive.js.map +0 -1
- package/dist/commands-send-support.d.ts +0 -59
- package/dist/commands-send-support.js +0 -258
- package/dist/commands-send-support.js.map +0 -1
- package/dist/commands-send.d.ts +0 -34
- package/dist/commands-send.js +0 -900
- package/dist/commands-send.js.map +0 -1
- package/dist/commands-setup-proof.d.ts +0 -43
- package/dist/commands-setup-proof.js +0 -134
- package/dist/commands-setup-proof.js.map +0 -1
- package/dist/commands-skill.d.ts +0 -21
- package/dist/commands-skill.js +0 -199
- package/dist/commands-skill.js.map +0 -1
- package/dist/commands-sounds.d.ts +0 -12
- package/dist/commands-sounds.js +0 -35
- package/dist/commands-sounds.js.map +0 -1
- package/dist/commands-update-check.d.ts +0 -6
- package/dist/commands-update-check.js +0 -102
- package/dist/commands-update-check.js.map +0 -1
- package/dist/commands-update-resume.d.ts +0 -7
- package/dist/commands-update-resume.js +0 -143
- package/dist/commands-update-resume.js.map +0 -1
- package/dist/commands-update-skill.d.ts +0 -5
- package/dist/commands-update-skill.js +0 -36
- package/dist/commands-update-skill.js.map +0 -1
- package/dist/commands-update.d.ts +0 -11
- package/dist/commands-update.js +0 -286
- package/dist/commands-update.js.map +0 -1
- package/dist/commands.d.ts +0 -26
- package/dist/commands.js +0 -27
- package/dist/commands.js.map +0 -1
- package/dist/config-schema.d.ts +0 -62
- package/dist/config-schema.js +0 -302
- package/dist/config-schema.js.map +0 -1
- package/dist/config.d.ts +0 -181
- package/dist/config.js +0 -357
- package/dist/config.js.map +0 -1
- package/dist/credentials.d.ts +0 -96
- package/dist/credentials.js +0 -342
- package/dist/credentials.js.map +0 -1
- package/dist/file-lock.d.ts +0 -34
- package/dist/file-lock.js +0 -367
- package/dist/file-lock.js.map +0 -1
- package/dist/generated-session-label.d.ts +0 -2
- package/dist/generated-session-label.js +0 -152
- package/dist/generated-session-label.js.map +0 -1
- package/dist/guidance-content.d.ts +0 -53
- package/dist/guidance-content.js +0 -248
- package/dist/guidance-content.js.map +0 -1
- package/dist/guidance-render.d.ts +0 -25
- package/dist/guidance-render.js +0 -47
- package/dist/guidance-render.js.map +0 -1
- package/dist/guidance.d.ts +0 -69
- package/dist/guidance.js +0 -173
- package/dist/guidance.js.map +0 -1
- package/dist/harness-session-title.d.ts +0 -22
- package/dist/harness-session-title.js +0 -74
- package/dist/harness-session-title.js.map +0 -1
- package/dist/harnesses.d.ts +0 -65
- package/dist/harnesses.js +0 -159
- package/dist/harnesses.js.map +0 -1
- package/dist/hermes-attendant.d.ts +0 -38
- package/dist/hermes-attendant.js +0 -337
- package/dist/hermes-attendant.js.map +0 -1
- package/dist/hermes-plugin.d.ts +0 -11
- package/dist/hermes-plugin.js +0 -299
- package/dist/hermes-plugin.js.map +0 -1
- package/dist/hook-acknowledgements.d.ts +0 -70
- package/dist/hook-acknowledgements.js +0 -490
- package/dist/hook-acknowledgements.js.map +0 -1
- package/dist/hook-adapter.d.ts +0 -48
- package/dist/hook-adapter.js +0 -419
- package/dist/hook-adapter.js.map +0 -1
- package/dist/hook-events.d.ts +0 -105
- package/dist/hook-events.js +0 -130
- package/dist/hook-events.js.map +0 -1
- package/dist/hook-gates.d.ts +0 -7
- package/dist/hook-gates.js +0 -20
- package/dist/hook-gates.js.map +0 -1
- package/dist/hook-input.d.ts +0 -10
- package/dist/hook-input.js +0 -64
- package/dist/hook-input.js.map +0 -1
- package/dist/hook-lifecycle.d.ts +0 -112
- package/dist/hook-lifecycle.js +0 -2031
- package/dist/hook-lifecycle.js.map +0 -1
- package/dist/hook-project-sessions.d.ts +0 -28
- package/dist/hook-project-sessions.js +0 -141
- package/dist/hook-project-sessions.js.map +0 -1
- package/dist/hook-question-lock.d.ts +0 -29
- package/dist/hook-question-lock.js +0 -217
- package/dist/hook-question-lock.js.map +0 -1
- package/dist/hook-question-retirement.d.ts +0 -74
- package/dist/hook-question-retirement.js +0 -314
- package/dist/hook-question-retirement.js.map +0 -1
- package/dist/hook-question-state.d.ts +0 -58
- package/dist/hook-question-state.js +0 -239
- package/dist/hook-question-state.js.map +0 -1
- package/dist/hook-session-state.d.ts +0 -127
- package/dist/hook-session-state.js +0 -488
- package/dist/hook-session-state.js.map +0 -1
- package/dist/hook-types.d.ts +0 -476
- package/dist/hook-types.js +0 -4
- package/dist/hook-types.js.map +0 -1
- package/dist/injection-render.d.ts +0 -36
- package/dist/injection-render.js +0 -61
- package/dist/injection-render.js.map +0 -1
- package/dist/install-hooks.d.ts +0 -470
- package/dist/install-hooks.js +0 -1622
- package/dist/install-hooks.js.map +0 -1
- package/dist/integration-health.d.ts +0 -26
- package/dist/integration-health.js +0 -133
- package/dist/integration-health.js.map +0 -1
- package/dist/interactive.d.ts +0 -22
- package/dist/interactive.js +0 -644
- package/dist/interactive.js.map +0 -1
- package/dist/invocation-context.d.ts +0 -47
- package/dist/invocation-context.js +0 -164
- package/dist/invocation-context.js.map +0 -1
- package/dist/local-path.d.ts +0 -7
- package/dist/local-path.js +0 -27
- package/dist/local-path.js.map +0 -1
- package/dist/logging.d.ts +0 -157
- package/dist/logging.js +0 -599
- package/dist/logging.js.map +0 -1
- package/dist/main-run.d.ts +0 -1
- package/dist/main-run.js +0 -42
- package/dist/main-run.js.map +0 -1
- package/dist/main.d.ts +0 -2
- package/dist/main.js +0 -12
- package/dist/main.js.map +0 -1
- package/dist/native-answer-operation.d.ts +0 -70
- package/dist/native-answer-operation.js +0 -247
- package/dist/native-answer-operation.js.map +0 -1
- package/dist/native-skills.d.ts +0 -64
- package/dist/native-skills.js +0 -167
- package/dist/native-skills.js.map +0 -1
- package/dist/node-floor.d.ts +0 -19
- package/dist/node-floor.js +0 -32
- package/dist/node-floor.js.map +0 -1
- package/dist/npm-invocation.d.ts +0 -34
- package/dist/npm-invocation.js +0 -53
- package/dist/npm-invocation.js.map +0 -1
- package/dist/openclaw-continuation-bridge.d.ts +0 -7
- package/dist/openclaw-continuation-bridge.js +0 -64
- package/dist/openclaw-continuation-bridge.js.map +0 -1
- package/dist/openclaw-gateway-readiness.d.ts +0 -1
- package/dist/openclaw-gateway-readiness.js +0 -24
- package/dist/openclaw-gateway-readiness.js.map +0 -1
- package/dist/openclaw-generation.d.ts +0 -21
- package/dist/openclaw-generation.js +0 -115
- package/dist/openclaw-generation.js.map +0 -1
- package/dist/openclaw-message-bridge.d.ts +0 -8
- package/dist/openclaw-message-bridge.js +0 -93
- package/dist/openclaw-message-bridge.js.map +0 -1
- package/dist/openclaw-pending.d.ts +0 -8
- package/dist/openclaw-pending.js +0 -47
- package/dist/openclaw-pending.js.map +0 -1
- package/dist/openclaw-plugin.d.ts +0 -75
- package/dist/openclaw-plugin.js +0 -1353
- package/dist/openclaw-plugin.js.map +0 -1
- package/dist/openclaw-session-access.d.ts +0 -12
- package/dist/openclaw-session-access.js +0 -79
- package/dist/openclaw-session-access.js.map +0 -1
- package/dist/opencode-plugin.d.ts +0 -88
- package/dist/opencode-plugin.js +0 -286
- package/dist/opencode-plugin.js.map +0 -1
- package/dist/orca-session-title.d.ts +0 -11
- package/dist/orca-session-title.js +0 -111
- package/dist/orca-session-title.js.map +0 -1
- package/dist/pack-feedback-slice.d.ts +0 -35
- package/dist/pack-feedback-slice.js +0 -126
- package/dist/pack-feedback-slice.js.map +0 -1
- package/dist/pairing-qr.d.ts +0 -5
- package/dist/pairing-qr.js +0 -24
- package/dist/pairing-qr.js.map +0 -1
- package/dist/pending-pairing.d.ts +0 -38
- package/dist/pending-pairing.js +0 -70
- package/dist/pending-pairing.js.map +0 -1
- package/dist/platform.d.ts +0 -67
- package/dist/platform.js +0 -140
- package/dist/platform.js.map +0 -1
- package/dist/process-identity.d.ts +0 -26
- package/dist/process-identity.js +0 -82
- package/dist/process-identity.js.map +0 -1
- package/dist/program.d.ts +0 -59
- package/dist/program.js +0 -691
- package/dist/program.js.map +0 -1
- package/dist/project-enablement.d.ts +0 -21
- package/dist/project-enablement.js +0 -71
- package/dist/project-enablement.js.map +0 -1
- package/dist/question-settlement-process.d.ts +0 -17
- package/dist/question-settlement-process.js +0 -35
- package/dist/question-settlement-process.js.map +0 -1
- package/dist/question-timing.d.ts +0 -46
- package/dist/question-timing.js +0 -48
- package/dist/question-timing.js.map +0 -1
- package/dist/readiness.d.ts +0 -153
- package/dist/readiness.js +0 -149
- package/dist/readiness.js.map +0 -1
- package/dist/release.d.ts +0 -31
- package/dist/release.js +0 -52
- package/dist/release.js.map +0 -1
- package/dist/send-attempts.d.ts +0 -26
- package/dist/send-attempts.js +0 -139
- package/dist/send-attempts.js.map +0 -1
- package/dist/send.d.ts +0 -115
- package/dist/send.js +0 -421
- package/dist/send.js.map +0 -1
- package/dist/session-activation.d.ts +0 -13
- package/dist/session-activation.js +0 -64
- package/dist/session-activation.js.map +0 -1
- package/dist/session-attendant-probe.d.ts +0 -85
- package/dist/session-attendant-probe.js +0 -173
- package/dist/session-attendant-probe.js.map +0 -1
- package/dist/session-attendant-state.d.ts +0 -70
- package/dist/session-attendant-state.js +0 -256
- package/dist/session-attendant-state.js.map +0 -1
- package/dist/session-attendant.d.ts +0 -143
- package/dist/session-attendant.js +0 -520
- package/dist/session-attendant.js.map +0 -1
- package/dist/session-delivery.d.ts +0 -249
- package/dist/session-delivery.js +0 -576
- package/dist/session-delivery.js.map +0 -1
- package/dist/session-handoff.d.ts +0 -98
- package/dist/session-handoff.js +0 -118
- package/dist/session-handoff.js.map +0 -1
- package/dist/session-input-wakes.d.ts +0 -78
- package/dist/session-input-wakes.js +0 -239
- package/dist/session-input-wakes.js.map +0 -1
- package/dist/session-inputs.d.ts +0 -57
- package/dist/session-inputs.js +0 -434
- package/dist/session-inputs.js.map +0 -1
- package/dist/session-labels.d.ts +0 -56
- package/dist/session-labels.js +0 -396
- package/dist/session-labels.js.map +0 -1
- package/dist/session-message-handoff.d.ts +0 -39
- package/dist/session-message-handoff.js +0 -107
- package/dist/session-message-handoff.js.map +0 -1
- package/dist/setup-destinations.d.ts +0 -23
- package/dist/setup-destinations.js +0 -44
- package/dist/setup-destinations.js.map +0 -1
- package/dist/skill-integrity.d.ts +0 -54
- package/dist/skill-integrity.js +0 -164
- package/dist/skill-integrity.js.map +0 -1
- package/dist/skill-source/manifest.json +0 -40
- package/dist/skill-source/notifai/SKILL.md +0 -350
- package/dist/skill-source/notifai/references/diagnostics.md +0 -36
- package/dist/skill-source/notifai/references/harness-setup.md +0 -384
- package/dist/skill-source/notifai/references/native-questions.md +0 -51
- package/dist/skill-source/notifai/references/notes-and-edits.md +0 -54
- package/dist/skill-source/notifai/references/send-details.md +0 -14
- package/dist/skill-source/notifai/references/updates.md +0 -116
- package/dist/skill-source/notifai/references/writing-examples.md +0 -56
- package/dist/sound-ref.d.ts +0 -23
- package/dist/sound-ref.js +0 -28
- package/dist/sound-ref.js.map +0 -1
- package/dist/ui/banner.d.ts +0 -22
- package/dist/ui/banner.js +0 -87
- package/dist/ui/banner.js.map +0 -1
- package/dist/ui/config-view.d.ts +0 -30
- package/dist/ui/config-view.js +0 -108
- package/dist/ui/config-view.js.map +0 -1
- package/dist/ui/help.d.ts +0 -44
- package/dist/ui/help.js +0 -107
- package/dist/ui/help.js.map +0 -1
- package/dist/ui/theme.d.ts +0 -90
- package/dist/ui/theme.js +0 -244
- package/dist/ui/theme.js.map +0 -1
- package/dist/update-handoff.d.ts +0 -29
- package/dist/update-handoff.js +0 -69
- package/dist/update-handoff.js.map +0 -1
- package/dist/url-policy.d.ts +0 -85
- package/dist/url-policy.js +0 -369
- package/dist/url-policy.js.map +0 -1
- package/dist/version.d.ts +0 -40
- package/dist/version.js +0 -132
- package/dist/version.js.map +0 -1
- package/dist/wake-support.d.ts +0 -40
- package/dist/wake-support.js +0 -95
- package/dist/wake-support.js.map +0 -1
package/dist/main-run.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main-run.js","sourceRoot":"","sources":["../src/main-run.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,EAAoB,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAE1E;;;;;;;GAOG;AACH,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;AAEhC,MAAM,IAAI,GAAgB;IACxB,EAAE,EAAE,MAAM,EAAE;IACZ,KAAK,EAAE,sBAAsB,EAAE;IAC/B,GAAG,EAAE,OAAO,CAAC,GAAG;IAChB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;IAClB,YAAY;IACZ,uBAAuB;IACvB,MAAM;CACP,CAAA;AAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;AAC5B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;IAC1B,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE;QACrB,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;QACnC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC5C,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA"}
|
package/dist/main.d.ts
DELETED
package/dist/main.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { belowNodeFloor, nodeFloorMessage } from './node-floor.js';
|
|
3
|
-
// Before anything else is parsed. `node-floor.js` imports nothing and uses no
|
|
4
|
-
// syntax newer than the floor it checks, so it can report on the runtimes that
|
|
5
|
-
// would otherwise fail somewhere in a dependency with no mention of Notifai.
|
|
6
|
-
if (belowNodeFloor(process.version)) {
|
|
7
|
-
for (const line of nodeFloorMessage(process.version))
|
|
8
|
-
process.stderr.write(`${line}\n`);
|
|
9
|
-
process.exit(2);
|
|
10
|
-
}
|
|
11
|
-
await import('./main-run.js');
|
|
12
|
-
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAElE,8EAA8E;AAC9E,+EAA+E;AAC/E,6EAA6E;AAC7E,IAAI,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAA;IACvF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { type PutAgentAcknowledgementResponse, type RecordHarnessAnswerResponse, type ReplyAnswerT } from '@raidiant/notifai-protocol';
|
|
2
|
-
import type { ApiClient } from './client.js';
|
|
3
|
-
import type { ServiceIdentity } from './credentials.js';
|
|
4
|
-
import type { PendingQuestion, SessionState } from './hook-types.js';
|
|
5
|
-
/** A command obligation, never a second answer-delivery queue. */
|
|
6
|
-
export interface NativeAnswerOperation {
|
|
7
|
-
question_id: string;
|
|
8
|
-
operation_id: string;
|
|
9
|
-
/** Absent until ordinary submission confirms the original registration. */
|
|
10
|
-
request_id?: string;
|
|
11
|
-
submission_id: string;
|
|
12
|
-
service_identity: ServiceIdentity;
|
|
13
|
-
answers: ReplyAnswerT[];
|
|
14
|
-
acknowledgement_text: string;
|
|
15
|
-
report?: {
|
|
16
|
-
reply_seq: number;
|
|
17
|
-
reply_id: string;
|
|
18
|
-
};
|
|
19
|
-
acknowledgement?: PutAgentAcknowledgementResponse['agent_acknowledgement'];
|
|
20
|
-
}
|
|
21
|
-
export interface NativeOperationOwner {
|
|
22
|
-
sessionId: string;
|
|
23
|
-
/** The current executing incarnation, renewed only by a new invocation. */
|
|
24
|
-
key: string;
|
|
25
|
-
service: ServiceIdentity;
|
|
26
|
-
}
|
|
27
|
-
export interface NativeOperationInput {
|
|
28
|
-
questionId: string;
|
|
29
|
-
operationId: string;
|
|
30
|
-
answers?: ReplyAnswerT[];
|
|
31
|
-
text?: string;
|
|
32
|
-
}
|
|
33
|
-
/** Called inside the state transaction, only when creating a new operation.
|
|
34
|
-
* The Codex binding adapter must prove the exact emitted native questions,
|
|
35
|
-
* registered shape, current incarnation and original service/Machine here.
|
|
36
|
-
* An explicit q_ selection alone is not native-form evidence.
|
|
37
|
-
*/
|
|
38
|
-
export type AdmitNativeAnswer = (state: SessionState, answers: ReplyAnswerT[]) => {
|
|
39
|
-
requestId?: string;
|
|
40
|
-
service: ServiceIdentity;
|
|
41
|
-
};
|
|
42
|
-
/** Persist the immutable body/key before any HTTP. Identity-only calls never create. */
|
|
43
|
-
export declare function prepareNativeAnswerOperation(owner: NativeOperationOwner, env: NodeJS.ProcessEnv, input: NativeOperationInput, admit: AdmitNativeAnswer, observe?: (state: SessionState) => SessionState): NativeAnswerOperation;
|
|
44
|
-
/** Fill the target once, from confirmed ordinary submission evidence. The
|
|
45
|
-
* caller recovers the original submission outside this transaction, after
|
|
46
|
-
* preparation has frozen the answer. A reserved/frozen request ID is not a
|
|
47
|
-
* receipt. The adapter must reject terminated or differently owned questions.
|
|
48
|
-
*/
|
|
49
|
-
export declare function resolveNativeAnswerOperation(owner: NativeOperationOwner, env: NodeJS.ProcessEnv, operation: NativeAnswerOperation, confirmed: (state: SessionState) => {
|
|
50
|
-
requestId: string;
|
|
51
|
-
service: ServiceIdentity;
|
|
52
|
-
} | null): NativeAnswerOperation;
|
|
53
|
-
/** Called only while committing a successful submit receipt or an accepted
|
|
54
|
-
* app reply, never for an attempted submission, retirement or history row.
|
|
55
|
-
* Resolve in that same transaction so cleanup cannot erase the only proof.
|
|
56
|
-
* A late receipt enriches existing obligations without resurrecting a question.
|
|
57
|
-
*/
|
|
58
|
-
export declare function confirmNativeAnswerTarget(state: SessionState, question: PendingQuestion): SessionState;
|
|
59
|
-
/** A response may arrive after SessionEnd. Unlike a normal lifecycle writer,
|
|
60
|
-
* this can only enrich an existing immutable obligation, never restore state.
|
|
61
|
-
*/
|
|
62
|
-
export declare function recordConfirmedNativeAnswerTarget(sessionId: string, env: NodeJS.ProcessEnv, question: PendingQuestion): void;
|
|
63
|
-
/** Replay the immutable report to refresh competing submissions, then finish
|
|
64
|
-
* only this answer's acknowledgement. No ordinary debt, watcher or input state
|
|
65
|
-
* is cleared. A lost response simply leaves the same phase safe to retry.
|
|
66
|
-
*/
|
|
67
|
-
export declare function executeNativeAnswerOperation(owner: NativeOperationOwner, env: NodeJS.ProcessEnv, operation: NativeAnswerOperation, client: Pick<ApiClient, 'recordHarnessAnswer' | 'putAgentAcknowledgement'>): Promise<{
|
|
68
|
-
report: RecordHarnessAnswerResponse;
|
|
69
|
-
acknowledgement: NativeAnswerOperation['acknowledgement'];
|
|
70
|
-
}>;
|
|
@@ -1,247 +0,0 @@
|
|
|
1
|
-
/** Durable execution of an explicitly identified, agent-reported native answer. */
|
|
2
|
-
import { randomBytes } from 'node:crypto';
|
|
3
|
-
import { isDeepStrictEqual } from 'node:util';
|
|
4
|
-
import { AGENT_ACKNOWLEDGEMENT_MAX_LENGTH, isRecordHarnessAnswerRequest, } from '@raidiant/notifai-protocol';
|
|
5
|
-
import { withFileLock } from './file-lock.js';
|
|
6
|
-
import { readSessionIncarnation, readSessionState, sessionHasEnded, sessionStatePath, writeSessionStateUnlocked, } from './hook-session-state.js';
|
|
7
|
-
function assertOwner(owner, env) {
|
|
8
|
-
if (sessionHasEnded(owner.sessionId, env) || readSessionIncarnation(owner.sessionId, env)?.key !== owner.key) {
|
|
9
|
-
throw new Error('The Agent Session incarnation changed; resume this operation from its current owner.');
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
function normalizedAnswers(answers, sessionId) {
|
|
13
|
-
if (!isRecordHarnessAnswerRequest({ session_id: sessionId, submission_id: 'validation', answers })) {
|
|
14
|
-
throw new Error('Native answers must use the registered question and choice IDs with non-empty answers.');
|
|
15
|
-
}
|
|
16
|
-
const seen = new Set();
|
|
17
|
-
return answers.map(answer => {
|
|
18
|
-
const text = answer.text?.trim();
|
|
19
|
-
const choices = answer.choice_ids === undefined ? [] : [...answer.choice_ids].sort();
|
|
20
|
-
if (seen.has(answer.question_id) || new Set(choices).size !== choices.length ||
|
|
21
|
-
(text !== undefined && text.length === 0) || (choices.length === 0 && text === undefined)) {
|
|
22
|
-
throw new Error('Native answers must be non-empty and cannot repeat question or choice IDs.');
|
|
23
|
-
}
|
|
24
|
-
seen.add(answer.question_id);
|
|
25
|
-
return {
|
|
26
|
-
question_id: answer.question_id,
|
|
27
|
-
...(choices.length === 0 ? {} : { choice_ids: choices }),
|
|
28
|
-
...(text === undefined ? {} : { text }),
|
|
29
|
-
};
|
|
30
|
-
}).sort((a, b) => a.question_id.localeCompare(b.question_id));
|
|
31
|
-
}
|
|
32
|
-
/** Persist the immutable body/key before any HTTP. Identity-only calls never create. */
|
|
33
|
-
export function prepareNativeAnswerOperation(owner, env, input, admit, observe) {
|
|
34
|
-
if (!/^q_[A-Za-z0-9_-]+$/.test(input.questionId) || !/^[A-Za-z0-9_-]{1,64}$/.test(input.operationId)) {
|
|
35
|
-
throw new Error('Native reporting requires an exact q_ identity and a 1–64 character operation ID.');
|
|
36
|
-
}
|
|
37
|
-
const answers = input.answers === undefined ? undefined : normalizedAnswers(input.answers, owner.sessionId);
|
|
38
|
-
const text = input.text?.trim();
|
|
39
|
-
if (text !== undefined && (text.length === 0 || text.length > AGENT_ACKNOWLEDGEMENT_MAX_LENGTH)) {
|
|
40
|
-
throw new Error(`The authored acknowledgement must contain 1–${AGENT_ACKNOWLEDGEMENT_MAX_LENGTH} characters.`);
|
|
41
|
-
}
|
|
42
|
-
const file = sessionStatePath(owner.sessionId, env);
|
|
43
|
-
return withFileLock(`${file}.lock`, () => {
|
|
44
|
-
assertOwner(owner, env);
|
|
45
|
-
let state = readSessionState(owner.sessionId, env);
|
|
46
|
-
const operations = state.native_answer_operations ?? [];
|
|
47
|
-
const existing = operations.find(op => op.question_id === input.questionId && op.operation_id === input.operationId);
|
|
48
|
-
if (existing !== undefined) {
|
|
49
|
-
if (!isDeepStrictEqual(existing.service_identity, owner.service) ||
|
|
50
|
-
(answers !== undefined && !isDeepStrictEqual(answers, existing.answers)) ||
|
|
51
|
-
(text !== undefined && text !== existing.acknowledgement_text)) {
|
|
52
|
-
throw new Error('This operation already names a different owner or body; do not change an operation on retry.');
|
|
53
|
-
}
|
|
54
|
-
return structuredClone(existing);
|
|
55
|
-
}
|
|
56
|
-
if (answers === undefined || text === undefined) {
|
|
57
|
-
throw new Error('A new native operation requires explicit answers and an authored acknowledgement; identity-only calls resume existing operations.');
|
|
58
|
-
}
|
|
59
|
-
// Observation is durable even if admission fails. In particular, a
|
|
60
|
-
// duplicate native marker must remain ambiguous on a later retry.
|
|
61
|
-
if (observe !== undefined) {
|
|
62
|
-
const observed = observe(state);
|
|
63
|
-
if (observed !== state)
|
|
64
|
-
writeSessionStateUnlocked(file, owner.sessionId, observed);
|
|
65
|
-
state = observed;
|
|
66
|
-
}
|
|
67
|
-
const registration = admit(state, answers);
|
|
68
|
-
if (!isDeepStrictEqual(registration.service, owner.service) ||
|
|
69
|
-
(registration.requestId !== undefined && !/^req_[A-Za-z0-9_-]+$/.test(registration.requestId))) {
|
|
70
|
-
throw new Error('The native question does not belong to this service and Approved Machine.');
|
|
71
|
-
}
|
|
72
|
-
const operation = {
|
|
73
|
-
question_id: input.questionId, operation_id: input.operationId,
|
|
74
|
-
...(registration.requestId === undefined ? {} : { request_id: registration.requestId }),
|
|
75
|
-
submission_id: randomBytes(24).toString('base64url'),
|
|
76
|
-
service_identity: { ...owner.service }, answers, acknowledgement_text: text,
|
|
77
|
-
};
|
|
78
|
-
writeSessionStateUnlocked(file, owner.sessionId, { ...state, native_answer_operations: [...operations, operation] });
|
|
79
|
-
return structuredClone(operation);
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
function matchingOperation(state, expected) {
|
|
83
|
-
const current = state.native_answer_operations?.find(op => op.question_id === expected.question_id && op.operation_id === expected.operation_id);
|
|
84
|
-
if (current === undefined || current.submission_id !== expected.submission_id ||
|
|
85
|
-
(expected.request_id !== undefined && current.request_id !== expected.request_id) || !isDeepStrictEqual(current.answers, expected.answers) ||
|
|
86
|
-
current.acknowledgement_text !== expected.acknowledgement_text ||
|
|
87
|
-
!isDeepStrictEqual(current.service_identity, expected.service_identity)) {
|
|
88
|
-
throw new Error('The durable native operation changed or disappeared; no new request was admitted.');
|
|
89
|
-
}
|
|
90
|
-
return current;
|
|
91
|
-
}
|
|
92
|
-
/** Fill the target once, from confirmed ordinary submission evidence. The
|
|
93
|
-
* caller recovers the original submission outside this transaction, after
|
|
94
|
-
* preparation has frozen the answer. A reserved/frozen request ID is not a
|
|
95
|
-
* receipt. The adapter must reject terminated or differently owned questions.
|
|
96
|
-
*/
|
|
97
|
-
export function resolveNativeAnswerOperation(owner, env, operation, confirmed) {
|
|
98
|
-
const file = sessionStatePath(owner.sessionId, env);
|
|
99
|
-
return withFileLock(`${file}.lock`, () => {
|
|
100
|
-
assertOwner(owner, env);
|
|
101
|
-
const state = readSessionState(owner.sessionId, env);
|
|
102
|
-
const current = matchingOperation(state, operation);
|
|
103
|
-
if (!isDeepStrictEqual(current.service_identity, owner.service))
|
|
104
|
-
throw new Error('The Approved Machine changed.');
|
|
105
|
-
// Another invocation may have resolved while this one recovered submission.
|
|
106
|
-
// Its confirmed target is immutable; no callback may replace it.
|
|
107
|
-
if (current.request_id !== undefined)
|
|
108
|
-
return structuredClone(current);
|
|
109
|
-
const receipt = confirmed(state);
|
|
110
|
-
if (receipt === null)
|
|
111
|
-
throw new Error('The original question submission is not confirmed; retry the same operation.');
|
|
112
|
-
if (!/^req_[A-Za-z0-9_-]+$/.test(receipt.requestId) || !isDeepStrictEqual(receipt.service, current.service_identity)) {
|
|
113
|
-
throw new Error('The confirmed question belongs to a different service or Approved Machine.');
|
|
114
|
-
}
|
|
115
|
-
const next = { ...current, request_id: receipt.requestId };
|
|
116
|
-
writeSessionStateUnlocked(file, owner.sessionId, {
|
|
117
|
-
...state, native_answer_operations: state.native_answer_operations.map(op => op === current ? next : op),
|
|
118
|
-
});
|
|
119
|
-
return structuredClone(next);
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
/** Called only while committing a successful submit receipt or an accepted
|
|
123
|
-
* app reply, never for an attempted submission, retirement or history row.
|
|
124
|
-
* Resolve in that same transaction so cleanup cannot erase the only proof.
|
|
125
|
-
* A late receipt enriches existing obligations without resurrecting a question.
|
|
126
|
-
*/
|
|
127
|
-
export function confirmNativeAnswerTarget(state, question) {
|
|
128
|
-
if (question.question_id === undefined || question.service_identity === undefined ||
|
|
129
|
-
question.request_id === undefined)
|
|
130
|
-
return state;
|
|
131
|
-
const requestId = question.request_id;
|
|
132
|
-
if (!/^req_[A-Za-z0-9_-]+$/.test(requestId))
|
|
133
|
-
return state;
|
|
134
|
-
const operationMatch = state.native_answer_operations?.some(op => op.question_id === question.question_id &&
|
|
135
|
-
op.request_id === undefined && isDeepStrictEqual(op.service_identity, question.service_identity));
|
|
136
|
-
const bindingMatch = state.codex_question_bindings?.some(binding => binding.question_id === question.question_id &&
|
|
137
|
-
binding.confirmed_request_id === undefined && isDeepStrictEqual(binding.service_identity, question.service_identity));
|
|
138
|
-
if (!operationMatch && !bindingMatch)
|
|
139
|
-
return state;
|
|
140
|
-
return { ...state, ...(operationMatch ? { native_answer_operations: state.native_answer_operations.map(op => op.question_id === question.question_id && op.request_id === undefined &&
|
|
141
|
-
isDeepStrictEqual(op.service_identity, question.service_identity)
|
|
142
|
-
? { ...op, request_id: requestId } : op) } : {}),
|
|
143
|
-
...(bindingMatch ? { codex_question_bindings: state.codex_question_bindings.map(binding => binding.question_id === question.question_id && binding.confirmed_request_id === undefined &&
|
|
144
|
-
isDeepStrictEqual(binding.service_identity, question.service_identity)
|
|
145
|
-
? { ...binding, confirmed_request_id: requestId } : binding) } : {}),
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
/** A response may arrive after SessionEnd. Unlike a normal lifecycle writer,
|
|
149
|
-
* this can only enrich an existing immutable obligation, never restore state.
|
|
150
|
-
*/
|
|
151
|
-
export function recordConfirmedNativeAnswerTarget(sessionId, env, question) {
|
|
152
|
-
const file = sessionStatePath(sessionId, env);
|
|
153
|
-
withFileLock(`${file}.lock`, () => {
|
|
154
|
-
const current = readSessionState(sessionId, env);
|
|
155
|
-
const next = confirmNativeAnswerTarget(current, question);
|
|
156
|
-
if (next !== current)
|
|
157
|
-
writeSessionStateUnlocked(file, sessionId, next);
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
/** Admit each non-blocking HTTP start under the owner fence, never await under a lock. */
|
|
161
|
-
function startPhase(owner, env, operation, start) {
|
|
162
|
-
const file = sessionStatePath(owner.sessionId, env);
|
|
163
|
-
return withFileLock(`${file}.lock`, () => {
|
|
164
|
-
assertOwner(owner, env);
|
|
165
|
-
const current = matchingOperation(readSessionState(owner.sessionId, env), operation);
|
|
166
|
-
if (!isDeepStrictEqual(current.service_identity, owner.service))
|
|
167
|
-
throw new Error('The Approved Machine changed.');
|
|
168
|
-
return start(structuredClone(current));
|
|
169
|
-
});
|
|
170
|
-
}
|
|
171
|
-
/** A late receipt may finish the identical obligation after end/resume, but
|
|
172
|
-
* cannot create a new operation, restore deleted state, or admit another phase.
|
|
173
|
-
*/
|
|
174
|
-
function mergeReceipt(owner, env, operation, update) {
|
|
175
|
-
const file = sessionStatePath(owner.sessionId, env);
|
|
176
|
-
return withFileLock(`${file}.lock`, () => {
|
|
177
|
-
const state = readSessionState(owner.sessionId, env);
|
|
178
|
-
const current = matchingOperation(state, operation);
|
|
179
|
-
const next = update(current);
|
|
180
|
-
writeSessionStateUnlocked(file, owner.sessionId, {
|
|
181
|
-
...state, native_answer_operations: state.native_answer_operations.map(op => op === current ? next : op),
|
|
182
|
-
});
|
|
183
|
-
return next;
|
|
184
|
-
});
|
|
185
|
-
}
|
|
186
|
-
/** Replay the immutable report to refresh competing submissions, then finish
|
|
187
|
-
* only this answer's acknowledgement. No ordinary debt, watcher or input state
|
|
188
|
-
* is cleared. A lost response simply leaves the same phase safe to retry.
|
|
189
|
-
*/
|
|
190
|
-
export async function executeNativeAnswerOperation(owner, env, operation, client) {
|
|
191
|
-
const submitted = await startPhase(owner, env, operation, async (current) => {
|
|
192
|
-
if (current.request_id === undefined)
|
|
193
|
-
throw new Error('The original question submission is not confirmed; retry the same operation.');
|
|
194
|
-
const report = await client.recordHarnessAnswer(current.request_id, {
|
|
195
|
-
session_id: owner.sessionId, submission_id: current.submission_id, answers: current.answers,
|
|
196
|
-
});
|
|
197
|
-
return { report, operation: current, requestId: current.request_id };
|
|
198
|
-
});
|
|
199
|
-
operation = submitted.operation;
|
|
200
|
-
const { report, requestId } = submitted;
|
|
201
|
-
if (report == null || !['recorded', 'replayed'].includes(report.status) ||
|
|
202
|
-
!Number.isSafeInteger(report.reply_seq) || report.reply_seq < 1 ||
|
|
203
|
-
!/^rpl_[A-Za-z0-9_-]+$/.test(report.answer_version?.version_id ?? '') ||
|
|
204
|
-
report.answer_version.origin !== 'harness' || report.answer_version.provenance !== 'agent-reported' ||
|
|
205
|
-
report.answer_version.status !== 'presented' || report.answer_version.source !== 'reply' ||
|
|
206
|
-
report.answer_version.base_version !== null || typeof report.complete !== 'boolean' ||
|
|
207
|
-
!Array.isArray(report.other_submissions) || ![report.answer_version, ...report.other_submissions].every(version => version != null && typeof version.version_id === 'string' &&
|
|
208
|
-
['harness', 'companion'].includes(version.origin) && Array.isArray(version.answers) &&
|
|
209
|
-
version.answers.every(answer => answer != null && typeof answer.question_id === 'string' &&
|
|
210
|
-
Array.isArray(answer.choice_ids) && answer.choice_ids.every(choice => typeof choice === 'string') &&
|
|
211
|
-
(answer.text === null || typeof answer.text === 'string')))) {
|
|
212
|
-
throw new Error('Native answer report receipt is incomplete; retry the same operation.');
|
|
213
|
-
}
|
|
214
|
-
const reported = normalizedAnswers(report.answer_version.answers.map(answer => ({
|
|
215
|
-
question_id: answer.question_id,
|
|
216
|
-
...(answer.choice_ids.length === 0 ? {} : { choice_ids: answer.choice_ids }),
|
|
217
|
-
...(answer.text === null ? {} : { text: answer.text }),
|
|
218
|
-
})), owner.sessionId);
|
|
219
|
-
if (!isDeepStrictEqual(reported, operation.answers))
|
|
220
|
-
throw new Error('Native answer report does not confirm the submitted answers.');
|
|
221
|
-
const receipt = { reply_seq: report.reply_seq, reply_id: report.answer_version.version_id };
|
|
222
|
-
let current = mergeReceipt(owner, env, operation, op => {
|
|
223
|
-
if (op.report !== undefined && !isDeepStrictEqual(op.report, receipt))
|
|
224
|
-
throw new Error('Native answer report identity changed.');
|
|
225
|
-
return { ...op, report: receipt };
|
|
226
|
-
});
|
|
227
|
-
if (current.acknowledgement === undefined) {
|
|
228
|
-
const result = await startPhase(owner, env, current, () => client.putAgentAcknowledgement(requestId, {
|
|
229
|
-
session_id: owner.sessionId, reply_seq: receipt.reply_seq, text: current.acknowledgement_text,
|
|
230
|
-
}));
|
|
231
|
-
if (result == null || !['recorded', 'replayed'].includes(result.status) ||
|
|
232
|
-
result.agent_acknowledgement == null ||
|
|
233
|
-
result.agent_acknowledgement.text !== current.acknowledgement_text ||
|
|
234
|
-
typeof result.agent_acknowledgement.created_at !== 'string' ||
|
|
235
|
-
!Number.isFinite(Date.parse(result.agent_acknowledgement.created_at))) {
|
|
236
|
-
throw new Error('Native acknowledgement receipt is incomplete or changed; retry the same operation.');
|
|
237
|
-
}
|
|
238
|
-
current = mergeReceipt(owner, env, operation, op => {
|
|
239
|
-
if (op.acknowledgement !== undefined && !isDeepStrictEqual(op.acknowledgement, result.agent_acknowledgement)) {
|
|
240
|
-
throw new Error('Native acknowledgement receipt changed.');
|
|
241
|
-
}
|
|
242
|
-
return { ...op, acknowledgement: result.agent_acknowledgement };
|
|
243
|
-
});
|
|
244
|
-
}
|
|
245
|
-
return { report, acknowledgement: current.acknowledgement };
|
|
246
|
-
}
|
|
247
|
-
//# sourceMappingURL=native-answer-operation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"native-answer-operation.js","sourceRoot":"","sources":["../src/native-answer-operation.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EACL,gCAAgC,EAChC,4BAA4B,GAI7B,MAAM,4BAA4B,CAAA;AAGnC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EACL,sBAAsB,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAC3E,yBAAyB,GAC1B,MAAM,yBAAyB,CAAA;AAyChC,SAAS,WAAW,CAAC,KAA2B,EAAE,GAAsB;IACtE,IAAI,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,sBAAsB,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;QAC7G,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAA;IACzG,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAuB,EAAE,SAAiB;IACnE,IAAI,CAAC,4BAA4B,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACnG,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAA;IAC3G,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAA;QAChC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAA;QACpF,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM;YACxE,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;YAC9F,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAA;QAC/F,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAC5B,OAAO;YACL,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;YACxD,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;SACxC,CAAA;IACH,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;AAC/D,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,4BAA4B,CAC1C,KAA2B,EAAE,GAAsB,EAAE,KAA2B,EAChF,KAAwB,EACxB,OAA+C;IAE/C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QACrG,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAA;IACtG,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IAC3G,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAA;IAC/B,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,gCAAgC,CAAC,EAAE,CAAC;QAChG,MAAM,IAAI,KAAK,CAAC,+CAA+C,gCAAgC,cAAc,CAAC,CAAA;IAChH,CAAC;IACD,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;IACnD,OAAO,YAAY,CAAC,GAAG,IAAI,OAAO,EAAE,GAAG,EAAE;QACvC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACvB,IAAI,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;QAClD,MAAM,UAAU,GAAG,KAAK,CAAC,wBAAwB,IAAI,EAAE,CAAA;QACvD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,KAAK,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,YAAY,KAAK,KAAK,CAAC,WAAW,CAAC,CAAA;QACpH,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC;gBAC5D,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACxE,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBACnE,MAAM,IAAI,KAAK,CAAC,8FAA8F,CAAC,CAAA;YACjH,CAAC;YACD,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAA;QAClC,CAAC;QACD,IAAI,OAAO,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,mIAAmI,CAAC,CAAA;QACtJ,CAAC;QACD,mEAAmE;QACnE,kEAAkE;QAClE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;YAC/B,IAAI,QAAQ,KAAK,KAAK;gBAAE,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;YAClF,KAAK,GAAG,QAAQ,CAAA;QAClB,CAAC;QACD,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QAC1C,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACvD,CAAC,YAAY,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACnG,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAA;QAC9F,CAAC;QACD,MAAM,SAAS,GAA0B;YACvC,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC,WAAW;YAC9D,GAAG,CAAC,YAAY,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC;YACvF,aAAa,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;YACpD,gBAAgB,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,IAAI;SAC5E,CAAA;QACD,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,GAAG,KAAK,EAAE,wBAAwB,EAAE,CAAC,GAAG,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,CAAA;QACpH,OAAO,eAAe,CAAC,SAAS,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAmB,EAAE,QAA+B;IAC7E,MAAM,OAAO,GAAG,KAAK,CAAC,wBAAwB,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CACxD,EAAE,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC,YAAY,KAAK,QAAQ,CAAC,YAAY,CAAC,CAAA;IACvF,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,aAAa,KAAK,QAAQ,CAAC,aAAa;QACzE,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;QAC1I,OAAO,CAAC,oBAAoB,KAAK,QAAQ,CAAC,oBAAoB;QAC9D,CAAC,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAA;IACtG,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAC1C,KAA2B,EAAE,GAAsB,EAAE,SAAgC,EACrF,SAA0F;IAE1F,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;IACnD,OAAO,YAAY,CAAC,GAAG,IAAI,OAAO,EAAE,GAAG,EAAE;QACvC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACvB,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;QACpD,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QACnD,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QACjH,4EAA4E;QAC5E,iEAAiE;QACjE,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,eAAe,CAAC,OAAO,CAAC,CAAA;QACrE,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;QAChC,IAAI,OAAO,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAA;QACrH,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACrH,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAA;QAC/F,CAAC;QACD,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,CAAA;QAC1D,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE;YAC/C,GAAG,KAAK,EAAE,wBAAwB,EAAE,KAAK,CAAC,wBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1G,CAAC,CAAA;QACF,OAAO,eAAe,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAmB,EAAE,QAAyB;IACtF,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,IAAI,QAAQ,CAAC,gBAAgB,KAAK,SAAS;QAC7E,QAAQ,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACnD,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAA;IACrC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAA;IACzD,MAAM,cAAc,GAAG,KAAK,CAAC,wBAAwB,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW;QACvG,EAAE,CAAC,UAAU,KAAK,SAAS,IAAI,iBAAiB,CAAC,EAAE,CAAC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAA;IACnG,MAAM,YAAY,GAAG,KAAK,CAAC,uBAAuB,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW;QAC9G,OAAO,CAAC,oBAAoB,KAAK,SAAS,IAAI,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAA;IACvH,IAAI,CAAC,cAAc,IAAI,CAAC,YAAY;QAAE,OAAO,KAAK,CAAA;IAClD,OAAO,EAAE,GAAG,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,KAAK,CAAC,wBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAC3G,EAAE,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS;gBACtE,iBAAiB,CAAC,EAAE,CAAC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,CAAC;gBAC/D,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,KAAK,CAAC,uBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CACzF,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,oBAAoB,KAAK,SAAS;gBAC1F,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,CAAC;gBACpE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzE,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iCAAiC,CAAC,SAAiB,EAAE,GAAsB,EAAE,QAAyB;IACpH,MAAM,IAAI,GAAG,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;IAC7C,YAAY,CAAC,GAAG,IAAI,OAAO,EAAE,GAAG,EAAE;QAChC,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;QAChD,MAAM,IAAI,GAAG,yBAAyB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QACzD,IAAI,IAAI,KAAK,OAAO;YAAE,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,0FAA0F;AAC1F,SAAS,UAAU,CAAI,KAA2B,EAAE,GAAsB,EAAE,SAAgC,EAAE,KAAqD;IACjK,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;IACnD,OAAO,YAAY,CAAC,GAAG,IAAI,OAAO,EAAE,GAAG,EAAE;QACvC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACvB,MAAM,OAAO,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC,CAAA;QACpF,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QACjH,OAAO,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,KAA2B,EAAE,GAAsB,EAAE,SAAgC,EAAE,MAA4D;IACvK,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;IACnD,OAAO,YAAY,CAAC,GAAG,IAAI,OAAO,EAAE,GAAG,EAAE;QACvC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;QACpD,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;QAC5B,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE;YAC/C,GAAG,KAAK,EAAE,wBAAwB,EAAE,KAAK,CAAC,wBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1G,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,KAA2B,EAAE,GAAsB,EAAE,SAAgC,EACrF,MAA0E;IAE1E,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;QACxE,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAA;QACrI,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE;YAClE,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO;SAC5F,CAAC,CAAA;QACF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,UAAU,EAAE,CAAA;IACtE,CAAC,CAAC,CAAA;IACF,SAAS,GAAG,SAAS,CAAC,SAAS,CAAA;IAC/B,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAAA;IACvC,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QACnE,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC;QAC/D,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,UAAU,IAAI,EAAE,CAAC;QACrE,MAAM,CAAC,cAAc,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,cAAc,CAAC,UAAU,KAAK,gBAAgB;QACnG,MAAM,CAAC,cAAc,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,KAAK,OAAO;QACxF,MAAM,CAAC,cAAc,CAAC,YAAY,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,SAAS;QACnF,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAChH,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ;QACzD,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QACnF,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;YACtF,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC;YACjG,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;IAC1F,CAAC;IACD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9E,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;QAC5E,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;KACvD,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IACrB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;IACpI,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,CAAA;IAC3F,IAAI,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE;QACrD,IAAI,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;QAChI,OAAO,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;IACnC,CAAC,CAAC,CAAA;IACF,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,SAAS,EAAE;YACnG,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,oBAAoB;SAC9F,CAAC,CAAC,CAAA;QACH,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;YACnE,MAAM,CAAC,qBAAqB,IAAI,IAAI;YACpC,MAAM,CAAC,qBAAqB,CAAC,IAAI,KAAK,OAAO,CAAC,oBAAoB;YAClE,OAAO,MAAM,CAAC,qBAAqB,CAAC,UAAU,KAAK,QAAQ;YAC3D,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAA;QACvG,CAAC;QACD,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE;YACjD,IAAI,EAAE,CAAC,eAAe,KAAK,SAAS,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBAC7G,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;YAC5D,CAAC;YACD,OAAO,EAAE,GAAG,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,qBAAqB,EAAE,CAAA;QACjE,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAA;AAC7D,CAAC"}
|
package/dist/native-skills.d.ts
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { npxLaunch } from './platform.js';
|
|
2
|
-
/**
|
|
3
|
-
* Exact reviewed version of the external `skills` installer.
|
|
4
|
-
*
|
|
5
|
-
* The installer program must not float on `latest`. Notifai gives this pinned
|
|
6
|
-
* version a verified local copy from the installed npm package.
|
|
7
|
-
*/
|
|
8
|
-
export declare const SKILLS_INSTALLER_SPEC = "skills@1.5.23";
|
|
9
|
-
/** The two scopes offered by the skills installer. */
|
|
10
|
-
export type SkillScope = 'project' | 'global';
|
|
11
|
-
/** The installer-managed evidence needed by Notifai readiness. */
|
|
12
|
-
export interface NativeSkill {
|
|
13
|
-
name: string;
|
|
14
|
-
scope: SkillScope;
|
|
15
|
-
path: string;
|
|
16
|
-
source: string | null;
|
|
17
|
-
sourceType: string | null;
|
|
18
|
-
sourceUrl: string | null;
|
|
19
|
-
ref: string | null;
|
|
20
|
-
}
|
|
21
|
-
export interface SkillsListResult {
|
|
22
|
-
skills: NativeSkill[];
|
|
23
|
-
error?: string;
|
|
24
|
-
}
|
|
25
|
-
export interface SkillsAddOptions {
|
|
26
|
-
diagnosticsToStderr?: boolean;
|
|
27
|
-
source: string;
|
|
28
|
-
skill: string;
|
|
29
|
-
scope?: SkillScope;
|
|
30
|
-
cwd: string;
|
|
31
|
-
env: NodeJS.ProcessEnv;
|
|
32
|
-
}
|
|
33
|
-
export interface SkillsOperationFailure {
|
|
34
|
-
code: number;
|
|
35
|
-
error: string;
|
|
36
|
-
}
|
|
37
|
-
export type SkillsOperationResult = number | SkillsOperationFailure;
|
|
38
|
-
export interface SkillsRemoveOptions {
|
|
39
|
-
skill: string;
|
|
40
|
-
scope: SkillScope;
|
|
41
|
-
cwd: string;
|
|
42
|
-
env: NodeJS.ProcessEnv;
|
|
43
|
-
}
|
|
44
|
-
export interface NativeSkills {
|
|
45
|
-
/** Launch the native interactive `npx skills add` flow. */
|
|
46
|
-
add(options: SkillsAddOptions): Promise<SkillsOperationResult>;
|
|
47
|
-
/** Uninstall one installer-managed skill in one scope. */
|
|
48
|
-
remove(options: SkillsRemoveOptions): Promise<number>;
|
|
49
|
-
/** Read installer-managed inventory from lock files. Does not spawn npx. */
|
|
50
|
-
list(scope: SkillScope, cwd: string, env: NodeJS.ProcessEnv): Promise<SkillsListResult>;
|
|
51
|
-
}
|
|
52
|
-
export declare function conventionalSkillPath(scope: SkillScope, name: string, cwd: string, env: NodeJS.ProcessEnv): string;
|
|
53
|
-
export declare function runSkillsCommand(args: string[], options: {
|
|
54
|
-
cwd: string;
|
|
55
|
-
env: NodeJS.ProcessEnv;
|
|
56
|
-
diagnosticsToStderr?: boolean;
|
|
57
|
-
timeoutMs?: number;
|
|
58
|
-
}, resolveLaunch?: typeof npxLaunch): Promise<SkillsOperationResult>;
|
|
59
|
-
/** argv for `npx`, including the pinned installer spec. */
|
|
60
|
-
export declare function skillsAddArgv(options: SkillsAddOptions): string[];
|
|
61
|
-
/** argv for uninstalling one skill in one installer scope. */
|
|
62
|
-
export declare function skillsRemoveArgv(options: SkillsRemoveOptions): string[];
|
|
63
|
-
/** The only process/filesystem adapter Notifai needs for the external installer. */
|
|
64
|
-
export declare const nativeSkills: NativeSkills;
|
package/dist/native-skills.js
DELETED
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
import { spawn, spawnSync } from 'node:child_process';
|
|
2
|
-
import { existsSync, readFileSync } from 'node:fs';
|
|
3
|
-
import path from 'node:path';
|
|
4
|
-
import { accountHome, npxLaunch } from './platform.js';
|
|
5
|
-
import { packageVersion } from './release.js';
|
|
6
|
-
import { stageShippedSkillBundle } from './skill-integrity.js';
|
|
7
|
-
/**
|
|
8
|
-
* Exact reviewed version of the external `skills` installer.
|
|
9
|
-
*
|
|
10
|
-
* The installer program must not float on `latest`. Notifai gives this pinned
|
|
11
|
-
* version a verified local copy from the installed npm package.
|
|
12
|
-
*/
|
|
13
|
-
export const SKILLS_INSTALLER_SPEC = 'skills@1.5.23';
|
|
14
|
-
function skillLockPath(scope, cwd, env) {
|
|
15
|
-
if (scope === 'project')
|
|
16
|
-
return path.join(cwd, 'skills-lock.json');
|
|
17
|
-
const stateHome = env['XDG_STATE_HOME'];
|
|
18
|
-
return stateHome !== undefined && stateHome !== ''
|
|
19
|
-
? path.join(stateHome, 'skills', '.skill-lock.json')
|
|
20
|
-
: path.join(accountHome(env), '.agents', '.skill-lock.json');
|
|
21
|
-
}
|
|
22
|
-
function readLock(scope, cwd, env) {
|
|
23
|
-
const file = skillLockPath(scope, cwd, env);
|
|
24
|
-
if (!existsSync(file))
|
|
25
|
-
return {};
|
|
26
|
-
try {
|
|
27
|
-
const parsed = JSON.parse(readFileSync(file, 'utf8'));
|
|
28
|
-
return parsed && typeof parsed === 'object' ? parsed : {};
|
|
29
|
-
}
|
|
30
|
-
catch {
|
|
31
|
-
return {};
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
export function conventionalSkillPath(scope, name, cwd, env) {
|
|
35
|
-
if (scope === 'project')
|
|
36
|
-
return path.join(cwd, '.agents', 'skills', name);
|
|
37
|
-
return path.join(accountHome(env), '.agents', 'skills', name);
|
|
38
|
-
}
|
|
39
|
-
function skillsFromLock(scope, cwd, env) {
|
|
40
|
-
const lock = readLock(scope, cwd, env);
|
|
41
|
-
return Object.entries(lock.skills ?? {}).flatMap(([name, entry]) => {
|
|
42
|
-
if (entry === null || typeof entry !== 'object')
|
|
43
|
-
return [];
|
|
44
|
-
return [
|
|
45
|
-
{
|
|
46
|
-
name,
|
|
47
|
-
scope,
|
|
48
|
-
// skills@1.5.23 records the source-relative SKILL.md as `skillPath`.
|
|
49
|
-
// It is not the installed destination and is therefore not trusted for
|
|
50
|
-
// readiness. The installer contract puts skills at this conventional
|
|
51
|
-
// path for both scopes.
|
|
52
|
-
path: conventionalSkillPath(scope, name, cwd, env),
|
|
53
|
-
source: typeof entry.source === 'string' ? entry.source : null,
|
|
54
|
-
sourceType: typeof entry.sourceType === 'string' ? entry.sourceType : null,
|
|
55
|
-
sourceUrl: typeof entry.sourceUrl === 'string' ? entry.sourceUrl : null,
|
|
56
|
-
ref: typeof entry.ref === 'string' ? entry.ref : null,
|
|
57
|
-
},
|
|
58
|
-
];
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
export function runSkillsCommand(args, options, resolveLaunch = npxLaunch) {
|
|
62
|
-
return new Promise((resolve) => {
|
|
63
|
-
let launch;
|
|
64
|
-
try {
|
|
65
|
-
launch = resolveLaunch(args, { ...options,
|
|
66
|
-
...(options.diagnosticsToStderr ? { stdio: ['ignore', 2, 2] } : {}) });
|
|
67
|
-
}
|
|
68
|
-
catch (error) {
|
|
69
|
-
resolve({
|
|
70
|
-
code: 1,
|
|
71
|
-
error: error instanceof Error ? error.message : 'the native skills installer could not start',
|
|
72
|
-
});
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
// Only unattended refresh/resume owns a bounded process tree. Preserve
|
|
76
|
-
// the human installer's existing terminal and Ctrl-C behavior in setup.
|
|
77
|
-
const bounded = options.diagnosticsToStderr === true || options.timeoutMs !== undefined;
|
|
78
|
-
const child = spawn(launch.file, launch.args, { ...launch.options, detached: bounded && process.platform !== 'win32' });
|
|
79
|
-
let timedOut = false;
|
|
80
|
-
const timer = bounded ? setTimeout(() => {
|
|
81
|
-
timedOut = true;
|
|
82
|
-
if (child.pid === undefined)
|
|
83
|
-
return;
|
|
84
|
-
try {
|
|
85
|
-
// Terminate only this owned installer tree, so a timed-out migration
|
|
86
|
-
// cannot leave a descendant writing its skill after staging is removed.
|
|
87
|
-
if (process.platform === 'win32') {
|
|
88
|
-
const killed = spawnSync(path.join(process.env['SystemRoot'] ?? 'C:\\Windows', 'System32', 'taskkill.exe'), ['/PID', String(child.pid), '/T', '/F'], { stdio: 'ignore', timeout: 5_000, windowsHide: true });
|
|
89
|
-
if (killed.status !== 0)
|
|
90
|
-
child.kill('SIGKILL');
|
|
91
|
-
}
|
|
92
|
-
else
|
|
93
|
-
process.kill(-child.pid, 'SIGKILL');
|
|
94
|
-
}
|
|
95
|
-
catch {
|
|
96
|
-
child.kill('SIGKILL');
|
|
97
|
-
}
|
|
98
|
-
}, options.timeoutMs ?? 60_000) : undefined;
|
|
99
|
-
child.on('error', () => {
|
|
100
|
-
clearTimeout(timer);
|
|
101
|
-
resolve({
|
|
102
|
-
code: 1,
|
|
103
|
-
error: 'the native skills installer could not start on this machine; repair the local Node.js and npm installation, then rerun setup',
|
|
104
|
-
});
|
|
105
|
-
});
|
|
106
|
-
child.on('exit', (code) => {
|
|
107
|
-
clearTimeout(timer);
|
|
108
|
-
resolve(timedOut ? { code: 1, error: 'The native skills installer timed out; integration remains incomplete. Resolve the installer failure, then resume the update.' } : code ?? 1);
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
/** argv for `npx`, including the pinned installer spec. */
|
|
113
|
-
export function skillsAddArgv(options) {
|
|
114
|
-
const args = ['-y', SKILLS_INSTALLER_SPEC, 'add', options.source, '--skill', options.skill];
|
|
115
|
-
if (options.scope === 'global')
|
|
116
|
-
args.push('--global');
|
|
117
|
-
// An explicit scope is the unattended contract. Native `--yes` keeps all
|
|
118
|
-
// remaining installer prompts non-interactive after the scope is chosen;
|
|
119
|
-
// `--copy` keeps the installed directory independent of temporary staging.
|
|
120
|
-
if (options.scope !== undefined)
|
|
121
|
-
args.push('--copy', '--yes');
|
|
122
|
-
return args;
|
|
123
|
-
}
|
|
124
|
-
/** argv for uninstalling one skill in one installer scope. */
|
|
125
|
-
export function skillsRemoveArgv(options) {
|
|
126
|
-
const args = ['-y', SKILLS_INSTALLER_SPEC, 'remove', options.skill];
|
|
127
|
-
if (options.scope === 'global')
|
|
128
|
-
args.push('--global');
|
|
129
|
-
args.push('--yes');
|
|
130
|
-
return args;
|
|
131
|
-
}
|
|
132
|
-
/** The only process/filesystem adapter Notifai needs for the external installer. */
|
|
133
|
-
export const nativeSkills = {
|
|
134
|
-
async add(options) {
|
|
135
|
-
const version = packageVersion();
|
|
136
|
-
if (version === null) {
|
|
137
|
-
return { code: 1, error: 'this CLI cannot establish which packaged skill belongs to it' };
|
|
138
|
-
}
|
|
139
|
-
const staged = stageShippedSkillBundle(options.cwd, version);
|
|
140
|
-
if (!staged.ok)
|
|
141
|
-
return { code: 1, error: staged.error };
|
|
142
|
-
try {
|
|
143
|
-
return await runSkillsCommand(skillsAddArgv({ ...options, source: staged.staged.source }), {
|
|
144
|
-
cwd: options.cwd,
|
|
145
|
-
env: options.env,
|
|
146
|
-
...(options.diagnosticsToStderr === undefined ? {} : { diagnosticsToStderr: options.diagnosticsToStderr }),
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
finally {
|
|
150
|
-
staged.staged.cleanup();
|
|
151
|
-
}
|
|
152
|
-
},
|
|
153
|
-
async remove(options) {
|
|
154
|
-
const result = await runSkillsCommand(skillsRemoveArgv(options), {
|
|
155
|
-
cwd: options.cwd,
|
|
156
|
-
env: options.env,
|
|
157
|
-
});
|
|
158
|
-
return typeof result === 'number' ? result : result.code;
|
|
159
|
-
},
|
|
160
|
-
async list(scope, cwd, env) {
|
|
161
|
-
// Presence is already on disk. `npx skills list` takes seconds and cannot
|
|
162
|
-
// change whether the notifai skill is installed — the lock file is what
|
|
163
|
-
// the installer itself consults.
|
|
164
|
-
return { skills: skillsFromLock(scope, cwd, env) };
|
|
165
|
-
},
|
|
166
|
-
};
|
|
167
|
-
//# sourceMappingURL=native-skills.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"native-skills.js","sourceRoot":"","sources":["../src/native-skills.ts"],"names":[],"mappings":"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"}
|
package/dist/node-floor.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The Node version this CLI needs, asserted before anything else loads.
|
|
3
|
-
*
|
|
4
|
-
* `engines` in package.json is advisory: npm prints a warning at install time
|
|
5
|
-
* and runs the binary anyway. So a reader on an older Node met a parser or
|
|
6
|
-
* module error naming a file they did not write, with no mention of Notifai,
|
|
7
|
-
* of Node, or of anything to do about it.
|
|
8
|
-
*
|
|
9
|
-
* This module is deliberately plain — no imports, no syntax newer than the
|
|
10
|
-
* floor it is checking — so it can run and report on the runtimes it exists to
|
|
11
|
-
* turn away. Everything else is loaded after it passes.
|
|
12
|
-
*/
|
|
13
|
-
export declare const NODE_MAJOR_FLOOR = 20;
|
|
14
|
-
export declare const NODE_MINOR_FLOOR = 12;
|
|
15
|
-
/** The major from a `process.version` string, or null when unrecognisable. */
|
|
16
|
-
export declare function nodeMajor(version: string): number | null;
|
|
17
|
-
export declare function belowNodeFloor(version: string): boolean;
|
|
18
|
-
/** One sentence for what is wrong, one for what to do about it. */
|
|
19
|
-
export declare function nodeFloorMessage(version: string): string[];
|