harn-cli 0.10.20

CLI for the Harn programming language — run, test, REPL, format, and lint
HARNBC0.10.20F"��D&@E��c�����ܲ�_�X�}'�2����y+���U��?:������FC�MWf��@X          		 

 JYb�Θ�
__escape_basic_string__harn_string_literal__toml_string_literal__strip_trailing_periods__render_harn_toml__render_tools_harn__render_main_harn__render_test_harn__render_readme__render_workflow_yaml__writemainharnessX$$$$$$((((((......777777tttttt�������������������������������������%�%�%�%�%�%�%�%�%�%�%�%�%�%�%�%�%�%�%�%�%�%X__escape_basic_stringResultvaluestringkJ��r�=�ClkJ��r�=�CmkJ��r�=�CmkJ��r�=�Cmk	
J��r�=�Cmk\\\replace"\"
\n
\r	\t                        !!!!!""""""""""""""""""







	!9Qivalueout__harn_string_literalResultvaluestringkJ�_���s"__escape_basic_string%%%%%%%%%%%%%%%%%%%%%%%%%$$


''''''''''''''''000000000value__toml_string_literalResultvaluestringk__harn_string_literal++++++++++((          value__strip_trailing_periodsResultvaluestringlklkJrj�+L/kJ���l&IǤb	kkJrj�+LJ��Ub��m
klen.	ends_with	substringl00000011111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222244444..l




















###((((((((((((((((((((((!!!!!!!!!!!!!!!((((((((((((((((((((((((((







	#?NOvalueout__render_harn_tomlResultpackage_namestringdescriptionstring
harn_rangestring�+kJ,=�8�}�1lkJ,=�8�}�1lkJ,=�8�}�1lkJ,=�8�}�1lkkk	k
k
kk
 __toml_string_literalhttps://github.com/OWNER//releases/tag/v0.1.0[package]
name = 
version = "0.1.0"
description = license = "MIT OR Apache-2.0"

repository = 
provenance = harn = ""
docs_url = "docs/api.md"
!permissions = ["tool:read_only"]

[exports]
tools = "lib/tools.harn"
[[package.tools]]
name = module = "lib/tools.harn"
symbol = "tools"
[package.tools.input_schema]
type = "object"
required = ["text"]
-[package.tools.input_schema.properties.text]
type = "string"
description = "Text to echo."
[package.tools.output_schema]
[package.tools.annotations]
kind = "read"
 side_effect_level = "read_only"
'[package.tools.annotations.arg_schema]
[dependencies]
�+888888888888888888999999999999999999::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;<<<>>>>????@@@@AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOOOOPPPPQQQQRRRRSSSSTTTTUUUUVVVVWWWWXXXXYYYYZZZZ[[[[\\\\]]]]^^^^____````aaaabbbbccccddddeeeeffffgggghhhhiiiijjjjkkkkllllmmmmnnnnooooppppqqqqqq77�+%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&DDDDDDDDDDDDDDDDDDD&&&DDDDSSSSSSSSSSSSSSSSSSS


;*+@DEZ^b	f
jnr
vz~���������������� �!�"�#�$�%�&�'�(�)�*�+�,�-�.�/��0�1�2�
3�4�5�6�7�8�"9�&:package_namedescription
harn_rangepkgdescrepoprov__render_tools_harnResultpackage_namestringhandlerstringdescriptionstring�kJ�A��y<dlkJ�A��y<dlkJ!=��Ñصlkk	

kkk
 
!k"#__harn_string_literal__strip_trailing_periods/** . */
pub fn 	(args) {
&  const input = schema_expect(args, {
    type: "object",
    properties: {
      text: {type: "string"}
    },
    required: ["text"]
  })
  return input.text
}

'/** Return a tool registry containing ``. */
pub fn tools(registry = nil) {
(  let reg = registry ?? tool_registry()
  reg = tool_define(reg, , , {
    parameters: {
      text: {
        type: "string",
%        description: "Text to echo."
      }
    returns: {type: "string"},
    annotations: {
      kind: "read",
&      side_effect_level: "read_only",
'      arg_schema: {required: ["text"]}

    handler: 
  return reg
�uuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvzzzzzzzzzzzzzzzzzz{{{{{{{{{{{||||}}}}~~~~������������������������������������������������������������������������������������������������������������������������������������������������������tt�++++++++++++++++++******************000000000000000000


!!!!.'<@DHLPT	X
\`d
hlptx|������������� �!�"�#�$�%�&�'�(�)�*�+�,�-package_namehandlerdescription	tool_namedesc_lithandler_doc__render_main_harnResultpackage_namestring=kJ�A��y<dlk	
__harn_string_literal�
import { agent_dispatch_tool_call } from "std/agent/primitives"
import { tools } from "lib/tools"

pipeline default() {
  const registry = tools()
  let text = "hello"
  if len(argv) > 0 {
    text = argv[0]
  }
  const result = agent_dispatch_tool_call({
    name: ,
    arguments: {text: text}
  }, registry)
  if !result.ok {
8    throw (result.error?.message ?? "tool call failed")
  }
  log(result.rendered_result)
}
=�������������������������������������������������������������=++++++++++++++++++



 $(,048	package_name	tool_name__render_test_harnResultpackage_namestringidentstringikJ�A��y<dlkk	
k
__harn_string_literaltimport { agent_dispatch_tool_call } from "std/agent/primitives"
import { tools } from "../lib/tools"

pipeline test__tool(task) {
  const registry = tools()
(  const ok = agent_dispatch_tool_call({

    name: ,
    arguments: {text: "hello"}
  }, registry)
>  assert(ok.ok, ok.error?.message ?? "tool call should pass")
)  assert_eq(ok.rendered_result, "hello")

)  const bad = agent_dispatch_tool_call({
    arguments: {}
B  assert(!bad.ok, "schema validation should reject missing text")
}
i������������������������������������������������������������������������������������������������������ؿ�i++++++++++++++++++


 $(,048	<
@DH
LPTX\`dpackage_nameident	tool_name__render_readmeResultpackage_namestringdescriptionstring�kk	
k
k# 
## Develop
```bash
harn test tests/
harn package check
harn package docs --check
harn package pack --dry-run
```
 ## Install into another project
harn add ../
harn install
3Consumers import the stable registry builder with:
```harn
import { tools } from "/tools"
�����������������������������������������������������������������������������������������������������������������������������������ۃ


    
"&*	.
26:
>BFJNRVZ^bfjnrvz~package_namedescription__render_workflow_yamlResult��name: Harn tool package

on:
  pull_request:
  push:
    branches: [main]

jobs:
  package:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: taiki-e/install-action@cargo-binstall
      - run: cargo binstall harn-cli --no-confirm
      - run: harn install --locked --offline || harn install
      - run: harn test tests/
      - run: harn package check
      - run: harn package docs --check
      - run: harn package pack --dry-run
��������������







__writeResultharnessHarnessdeststringrelstringcontentstring��kkJM���P�KlkJ���L�Klk@k&k,�	3_	k&k,
4�	l	k&k	kJ�4$�ռ
,J�M`��ye


�3�	k&kk,

4�	l	k&k	kJ�4$�ռ
,J�M`��ye

	path_joindirnamefsexistsmkdirstdioeprintlnfailed to create : 	to_stringexit
write_textfailed to write ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!����                  )))))))))))))))4444====NNNNNNNNNNNNNNNNNNNNN!!!!!!!!!!!!!!!!!11118888IIIIIIIIIIIIIIIIIIIII



















-5;PVgpt	x
���
���������harnessdestrelcontentpathparenteemainResultharnessHarness��k&,lk&,lk&,lk&,lk&,lk&,lk�k�k�k�k�	k&	,
J�M`��ye

�kkkkkJ:J$e��Jq)�,�P6kkkkkJ�a��C�v�Jq)�,�P6kkkJy�`"aC�Jq)�,�P6kkkkJlw��.&&Jq)�,�P6kkkkJ��vX�,B�Jq)�,�P6kkJq)�,�P6kkJL��>��e�Jq)�,�P6envget_orHARN_TOOL_NAMEHARN_TOOL_DESTHARN_TOOL_IDENTHARN_TOOL_HANDLERHARN_TOOL_DESCRIPTIONHARN_TOOL_HARN_RANGEstdioeprintlnDtool new: HARN_TOOL_{NAME,DEST,IDENT,HANDLER,HARN_RANGE} must be setexit	harn.toml__render_harn_toml__writelib/tools.harn__render_tools_harn	main.harn__render_main_harntests/test_tool.harn__render_test_harn	README.md__render_readmeLICENSEMIT OR Apache-2.0
".github/workflows/harn-package.yml__render_workflow_yaml���&�&�&�&�&�&�&�&�&�&�&�&�&�&�&�&�&�&�&�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�*�*�*�*�*�*�*�*�*�*�*�*�*�*�*�*�*�*�*�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�-�-�-�-�-�-�.�.�.�.�.�.�.�.�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�6�6�6�6�6�6�6�6�6�6�6�6�6�6�6�6�6�6�6�6�6�6�6�6�6�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�%�%��###5555555555###5555555555$$$7777777777&&&;;;;;;;;;;***CCCCCCCCCC)))AAAAAAAAAA"""++++++++++111<<<<<<<<<<BBBPPPPPPPPPPP





















:::@@@MMMMMMMMMMMMMMMMMMMMMMMMMMMM@@@FFFOOOOOOOOOOOOOOOOOOOOOOOOOOOO::::::::::::::::::::::::::::EEEKKKKKKKKKKKKKKKKKKKKKKKKKKKK777============================%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@!)2<EOX	b
kx�
�����������8�D�`�l���������� harnessnamedestidenthandlerdescription
harn_rangeK