Add the Narratio D&D processing configuration
This commit is contained in:
@@ -50,3 +50,64 @@ dnd_pipeline_audita_context_description: >-
|
|||||||
to actual D&D gameplay.
|
to actual D&D gameplay.
|
||||||
dnd_pipeline_audita_diagnostics_work_dir: /tmp/audita
|
dnd_pipeline_audita_diagnostics_work_dir: /tmp/audita
|
||||||
dnd_pipeline_audita_diagnostics_retention: auto
|
dnd_pipeline_audita_diagnostics_retention: auto
|
||||||
|
dnd_pipeline_narratio_seriatim_output_schema: seriatim-intermediate
|
||||||
|
dnd_pipeline_narratio_normalize_output_path: transcripts/final.json
|
||||||
|
dnd_pipeline_narratio_normalize_output_schema: seriatim-intermediate
|
||||||
|
dnd_pipeline_narratio_trim_enabled: true
|
||||||
|
dnd_pipeline_narratio_trim_output_path: transcripts/final.trimmed.json
|
||||||
|
dnd_pipeline_narratio_trim_bounds_prompt_id: dnd.session_bounds
|
||||||
|
dnd_pipeline_narratio_trim_bounds_transcript_input_name: transcript
|
||||||
|
dnd_pipeline_narratio_trim_bounds_output_path: artifacts/session_bounds.json
|
||||||
|
dnd_pipeline_narratio_render_enabled: true
|
||||||
|
dnd_pipeline_narratio_render_format: markdown
|
||||||
|
dnd_pipeline_narratio_session_recap_artifact:
|
||||||
|
enabled: true
|
||||||
|
prompt_id: dnd.session_recap
|
||||||
|
output_path: artifacts/session_recap.md
|
||||||
|
inputs:
|
||||||
|
transcript:
|
||||||
|
source: narratio.transcript.final_trimmed
|
||||||
|
required: true
|
||||||
|
recap:
|
||||||
|
source: narratio.previous_session.artifact.session_recap
|
||||||
|
required: false
|
||||||
|
dnd_pipeline_narratio_hostile_rumors_artifact:
|
||||||
|
enabled: true
|
||||||
|
prompt_id: dnd.hostile_rumors
|
||||||
|
output_path: artifacts/hostile_rumors.md
|
||||||
|
inputs:
|
||||||
|
recap:
|
||||||
|
source: narratio.artifact.session_recap
|
||||||
|
required: true
|
||||||
|
dnd_pipeline_narratio_deranged_rumors_artifact:
|
||||||
|
enabled: true
|
||||||
|
prompt_id: dnd.deranged_rumors
|
||||||
|
output_path: artifacts/deranged_rumors.md
|
||||||
|
inputs:
|
||||||
|
recap:
|
||||||
|
source: narratio.artifact.session_recap
|
||||||
|
required: true
|
||||||
|
dnd_pipeline_narratio_scene_map_artifact:
|
||||||
|
enabled: false
|
||||||
|
prompt_id: dnd.scene_map
|
||||||
|
output_path: artifacts/scene_map.json
|
||||||
|
inputs:
|
||||||
|
transcript:
|
||||||
|
source: narratio.transcript.final_trimmed
|
||||||
|
required: true
|
||||||
|
dnd_pipeline_narratio_character_analysis_family:
|
||||||
|
enabled: false
|
||||||
|
for_each: party.characters
|
||||||
|
prompt_id: dnd.character_meta_analysis
|
||||||
|
output_path_pattern: artifacts/character_meta_analysis/{character_id}.md
|
||||||
|
inputs:
|
||||||
|
transcript:
|
||||||
|
source: narratio.transcript.final_trimmed
|
||||||
|
required: true
|
||||||
|
recap:
|
||||||
|
source: narratio.previous_session.artifact.session_recap
|
||||||
|
required: false
|
||||||
|
member_vars:
|
||||||
|
character_name: character.name
|
||||||
|
character_class: character.class_summary
|
||||||
|
dnd_pipeline_narratio_testing_scriptorium_profile: gemini-flash-latest
|
||||||
|
|||||||
@@ -180,3 +180,67 @@ argument_specs:
|
|||||||
type: str
|
type: str
|
||||||
required: true
|
required: true
|
||||||
description: Audita diagnostics retention policy.
|
description: Audita diagnostics retention policy.
|
||||||
|
dnd_pipeline_narratio_seriatim_output_schema:
|
||||||
|
type: str
|
||||||
|
required: true
|
||||||
|
description: Seriatim schema consumed by the D&D processing workflow.
|
||||||
|
dnd_pipeline_narratio_normalize_output_path:
|
||||||
|
type: str
|
||||||
|
required: true
|
||||||
|
description: Canonical normalized transcript output path.
|
||||||
|
dnd_pipeline_narratio_normalize_output_schema:
|
||||||
|
type: str
|
||||||
|
required: true
|
||||||
|
description: Schema for the normalized transcript output.
|
||||||
|
dnd_pipeline_narratio_trim_enabled:
|
||||||
|
type: bool
|
||||||
|
required: true
|
||||||
|
description: Whether D&D transcript trimming is enabled.
|
||||||
|
dnd_pipeline_narratio_trim_output_path:
|
||||||
|
type: str
|
||||||
|
required: true
|
||||||
|
description: Canonical trimmed transcript output path.
|
||||||
|
dnd_pipeline_narratio_trim_bounds_prompt_id:
|
||||||
|
type: str
|
||||||
|
required: true
|
||||||
|
description: Prompt that identifies D&D session bounds.
|
||||||
|
dnd_pipeline_narratio_trim_bounds_transcript_input_name:
|
||||||
|
type: str
|
||||||
|
required: true
|
||||||
|
description: Bounds prompt input receiving the transcript.
|
||||||
|
dnd_pipeline_narratio_trim_bounds_output_path:
|
||||||
|
type: str
|
||||||
|
required: true
|
||||||
|
description: Canonical session-bounds artifact output path.
|
||||||
|
dnd_pipeline_narratio_render_enabled:
|
||||||
|
type: bool
|
||||||
|
required: true
|
||||||
|
description: Whether transcript rendering is enabled.
|
||||||
|
dnd_pipeline_narratio_render_format:
|
||||||
|
type: str
|
||||||
|
required: true
|
||||||
|
description: Format for rendered D&D transcripts.
|
||||||
|
dnd_pipeline_narratio_session_recap_artifact:
|
||||||
|
type: dict
|
||||||
|
required: true
|
||||||
|
description: Complete native mapping for the session recap artifact.
|
||||||
|
dnd_pipeline_narratio_hostile_rumors_artifact:
|
||||||
|
type: dict
|
||||||
|
required: true
|
||||||
|
description: Complete native mapping for the hostile rumors artifact.
|
||||||
|
dnd_pipeline_narratio_deranged_rumors_artifact:
|
||||||
|
type: dict
|
||||||
|
required: true
|
||||||
|
description: Complete native mapping for the deranged rumors artifact.
|
||||||
|
dnd_pipeline_narratio_scene_map_artifact:
|
||||||
|
type: dict
|
||||||
|
required: true
|
||||||
|
description: Complete native mapping for the scene map artifact.
|
||||||
|
dnd_pipeline_narratio_character_analysis_family:
|
||||||
|
type: dict
|
||||||
|
required: true
|
||||||
|
description: Complete native mapping for the character analysis family.
|
||||||
|
dnd_pipeline_narratio_testing_scriptorium_profile:
|
||||||
|
type: str
|
||||||
|
required: true
|
||||||
|
description: Scriptorium profile selected by the testing overlay.
|
||||||
|
|||||||
@@ -80,6 +80,13 @@ dependencies:
|
|||||||
narratio_go_binary: "{{ dnd_pipeline_go_binary }}"
|
narratio_go_binary: "{{ dnd_pipeline_go_binary }}"
|
||||||
narratio_whisperx_transcribe_url: "{{ dnd_pipeline_whisperx_transcribe_url }}"
|
narratio_whisperx_transcribe_url: "{{ dnd_pipeline_whisperx_transcribe_url }}"
|
||||||
narratio_campaigns_root: "{{ dnd_pipeline_campaigns_root }}"
|
narratio_campaigns_root: "{{ dnd_pipeline_campaigns_root }}"
|
||||||
|
narratio_configkit_imports:
|
||||||
|
- path: conf.d/processing.yml
|
||||||
|
- path: artifacts/session-recap.yml
|
||||||
|
- path: artifacts/hostile-rumors.yml
|
||||||
|
- path: artifacts/deranged-rumors.yml
|
||||||
|
- path: artifacts/scene-map.yml
|
||||||
|
- path: artifact-families/character-meta-analysis.yml
|
||||||
narratio_seriatim_binary: /usr/local/bin/seriatim
|
narratio_seriatim_binary: /usr/local/bin/seriatim
|
||||||
narratio_audita_binary: /usr/local/bin/audita
|
narratio_audita_binary: /usr/local/bin/audita
|
||||||
narratio_audita_config_path: /usr/local/etc/audita/config.yml
|
narratio_audita_config_path: /usr/local/etc/audita/config.yml
|
||||||
|
|||||||
@@ -25,3 +25,41 @@
|
|||||||
version: "{{ dnd_pipeline_prompt_library_revision }}"
|
version: "{{ dnd_pipeline_prompt_library_revision }}"
|
||||||
update: true
|
update: true
|
||||||
force: true
|
force: true
|
||||||
|
|
||||||
|
- name: Create Narratio configuration directories
|
||||||
|
become: true
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "/usr/local/etc/narratio/{{ item }}"
|
||||||
|
state: directory
|
||||||
|
owner: root
|
||||||
|
group: narratio
|
||||||
|
mode: "0750"
|
||||||
|
loop:
|
||||||
|
- conf.d
|
||||||
|
- artifacts
|
||||||
|
- artifact-families
|
||||||
|
- profiles
|
||||||
|
|
||||||
|
- name: Deploy Narratio D&D configuration fragments
|
||||||
|
become: true
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: "{{ item.src }}"
|
||||||
|
dest: "/usr/local/etc/narratio/{{ item.dest }}"
|
||||||
|
owner: root
|
||||||
|
group: narratio
|
||||||
|
mode: "0640"
|
||||||
|
loop:
|
||||||
|
- src: processing.yml.j2
|
||||||
|
dest: conf.d/processing.yml
|
||||||
|
- src: session-recap.yml.j2
|
||||||
|
dest: artifacts/session-recap.yml
|
||||||
|
- src: hostile-rumors.yml.j2
|
||||||
|
dest: artifacts/hostile-rumors.yml
|
||||||
|
- src: deranged-rumors.yml.j2
|
||||||
|
dest: artifacts/deranged-rumors.yml
|
||||||
|
- src: scene-map.yml.j2
|
||||||
|
dest: artifacts/scene-map.yml
|
||||||
|
- src: character-meta-analysis.yml.j2
|
||||||
|
dest: artifact-families/character-meta-analysis.yml
|
||||||
|
- src: testing.yml.j2
|
||||||
|
dest: profiles/testing.yml
|
||||||
|
|||||||
4
templates/character-meta-analysis.yml.j2
Normal file
4
templates/character-meta-analysis.yml.j2
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
scriptorium:
|
||||||
|
artifact_families:
|
||||||
|
character_meta_analysis:
|
||||||
|
{{ dnd_pipeline_narratio_character_analysis_family | to_nice_yaml(indent=2) | indent(6, true) }}
|
||||||
4
templates/deranged-rumors.yml.j2
Normal file
4
templates/deranged-rumors.yml.j2
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
scriptorium:
|
||||||
|
artifacts:
|
||||||
|
deranged_rumors:
|
||||||
|
{{ dnd_pipeline_narratio_deranged_rumors_artifact | to_nice_yaml(indent=2) | indent(6, true) }}
|
||||||
4
templates/hostile-rumors.yml.j2
Normal file
4
templates/hostile-rumors.yml.j2
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
scriptorium:
|
||||||
|
artifacts:
|
||||||
|
hostile_rumors:
|
||||||
|
{{ dnd_pipeline_narratio_hostile_rumors_artifact | to_nice_yaml(indent=2) | indent(6, true) }}
|
||||||
17
templates/processing.yml.j2
Normal file
17
templates/processing.yml.j2
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
audita:
|
||||||
|
output_schema: {{ dnd_pipeline_audita_output_schema | to_json }}
|
||||||
|
seriatim:
|
||||||
|
output_schema: {{ dnd_pipeline_narratio_seriatim_output_schema | to_json }}
|
||||||
|
normalize:
|
||||||
|
output_path: {{ dnd_pipeline_narratio_normalize_output_path | to_json }}
|
||||||
|
output_schema: {{ dnd_pipeline_narratio_normalize_output_schema | to_json }}
|
||||||
|
trim:
|
||||||
|
enabled: {{ dnd_pipeline_narratio_trim_enabled | to_json }}
|
||||||
|
output_path: {{ dnd_pipeline_narratio_trim_output_path | to_json }}
|
||||||
|
bounds:
|
||||||
|
prompt_id: {{ dnd_pipeline_narratio_trim_bounds_prompt_id | to_json }}
|
||||||
|
transcript_input_name: {{ dnd_pipeline_narratio_trim_bounds_transcript_input_name | to_json }}
|
||||||
|
output_path: {{ dnd_pipeline_narratio_trim_bounds_output_path | to_json }}
|
||||||
|
render:
|
||||||
|
enabled: {{ dnd_pipeline_narratio_render_enabled | to_json }}
|
||||||
|
format: {{ dnd_pipeline_narratio_render_format | to_json }}
|
||||||
4
templates/scene-map.yml.j2
Normal file
4
templates/scene-map.yml.j2
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
scriptorium:
|
||||||
|
artifacts:
|
||||||
|
scene_map:
|
||||||
|
{{ dnd_pipeline_narratio_scene_map_artifact | to_nice_yaml(indent=2) | indent(6, true) }}
|
||||||
4
templates/session-recap.yml.j2
Normal file
4
templates/session-recap.yml.j2
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
scriptorium:
|
||||||
|
artifacts:
|
||||||
|
session_recap:
|
||||||
|
{{ dnd_pipeline_narratio_session_recap_artifact | to_nice_yaml(indent=2) | indent(6, true) }}
|
||||||
13
templates/testing.yml.j2
Normal file
13
templates/testing.yml.j2
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
scriptorium:
|
||||||
|
artifacts:
|
||||||
|
session_recap:
|
||||||
|
profile_id: {{ dnd_pipeline_narratio_testing_scriptorium_profile | to_json }}
|
||||||
|
hostile_rumors:
|
||||||
|
profile_id: {{ dnd_pipeline_narratio_testing_scriptorium_profile | to_json }}
|
||||||
|
deranged_rumors:
|
||||||
|
profile_id: {{ dnd_pipeline_narratio_testing_scriptorium_profile | to_json }}
|
||||||
|
scene_map:
|
||||||
|
profile_id: {{ dnd_pipeline_narratio_testing_scriptorium_profile | to_json }}
|
||||||
|
artifact_families:
|
||||||
|
character_meta_analysis:
|
||||||
|
profile_id: {{ dnd_pipeline_narratio_testing_scriptorium_profile | to_json }}
|
||||||
Reference in New Issue
Block a user